{"openapi":"3.0.0","info":{"title":"Bloomerang API","description":"Private-key API for Bloomerang CRM","version":"2.0.0","contact":{"name":"Bloomerang","url":"https://www.bloomerang.com/","email":"support@bloomerang.com"}},"servers":[{"url":"https://api.bloomerang.co/v2"}],"externalDocs":{"url":"https://www.bloomerang.com/openapi_errorcodes.html","description":"Error Codes"},"tags":[{"name":"Addresses"},{"name":"Appeals"},{"name":"Campaigns"},{"name":"Constituents"},{"name":"Custom Fields"},{"name":"Email Addresses"},{"name":"Email Interests"},{"name":"Funds"},{"name":"Groups"},{"name":"Households"},{"name":"Interactions"},{"name":"Notes"},{"name":"Phones"},{"name":"Pledges"},{"name":"Processors"},{"name":"Refunds"},{"name":"Relationship Roles"},{"name":"Relationships"},{"name":"Soft Credits"},{"name":"Tasks"},{"name":"Transactions"},{"name":"Tributes"},{"name":"Users"},{"name":"Wallet Items"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"},"OAuth2":{"type":"oauth2","description":"OAuth 2 with the authorization code flow.","flows":{"authorizationCode":{"authorizationUrl":"https://crm.bloomerang.com/authorize/","tokenUrl":"https://api.bloomerang.co/v2/oauth/token","refreshUrl":"https://api.bloomerang.co/v2/oauth/token","scopes":{"ViewOnly":"Base level view-only privileges","StandardEditFinancialData":"Base level privileges and ability to edit financial data","Standard":"Same privileges as a standard user (includes transaction edit)","OrgAdmin":"Privileges of an Organization Administrator"}}}}},"parameters":{"skipParam":{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},"takeParam":{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."}},"schemas":{"DeleteResponse":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}},"PagedList":{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},"PagedFundList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]},"PagedEmailInterestList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"IsSurveyEmailInterest":{"type":"boolean","description":"Is this an email interest for Bloomerang donor surveys?"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]},"PagedCampaignList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedAppealList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedTributeList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]},"PagedProcessorList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Type":{"type":"string"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},{"type":"object","properties":{"PublicKey":{"type":"string","description":"The public key for this processor"},"IsStripeConnect":{"type":"boolean","description":"Is this a Stripe processor with Stripe Connect enabled?"},"BloomerangPaymentsProcessorId":{"type":"string","format":"uuid","description":"The identifier of the associated Bloomerang Payments (Stripe Custom) processor. Only present for Bloomerang Payments (Stripe Custom) processors."},"Status":{"type":"string","description":"The status of the processor. Only present for Bloomerang Payments (Stripe Custom) processors. Values may include: Pending, NeedsDocumentation, Completed, Disabled, NotStarted, Onboarding."},"IsBloomerangPaymentsOnboarding":{"type":"boolean","description":"Indicates whether the database is currently in the Bloomerang Payments (Stripe Custom) onboarding flow. Only present for Bloomerang Payments (Stripe Custom) processors."}}}]}}}}]},"PagedRelationshipRoleList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]},"PagedRelationshipList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}]},"PagedConstituentList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedConstituentWithMembershipList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"type":"object"}],"properties":{"Membership":{"type":"array","items":{"allOf":[{"type":"object","properties":{"MembershipScheduleId":{"type":"integer","format":"int64"},"MembershipProgramName":{"type":"string"},"MembershipLevelName":{"type":"string"},"MembershipStatus":{"type":"string"},"MembershipRenewalDate":{"type":"string"}}}]}}}}}}}]},"PagedHouseholdList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}]},"PagedConstituentAndHouseholdList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"oneOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}]}}}}]},"PagedAddressList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]}}}}]},"PagedEmailList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedPhoneList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}]},"PagedInteractionList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedNoteList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedWalletItemList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFour":{"type":"string"},"CreditCardExpiration":{"type":"string"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftAccountLastFour":{"type":"string"},"EftRoutingNumber":{"type":"string"},"PaymentMethodToken":{"type":"string"}}}]}}}}]},"PagedTaskList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedTimelineEntrySummaryList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The Timeline Entry's ID"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the Constituent to whom the Timeline Entry belongs"},"Type":{"type":"string","enum":["Interaction","Note","Refund","SoftCredit","Task","Transaction"]},"CreatedDate":{"type":"string","format":"date","description":"When the Timeline Entry was created"},"Date":{"type":"string","format":"date","description":"Timeline Entry's Date"}}}}}}]},"PagedTransactionList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}]},"PagedPledgeInstallmentList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}}}}]},"PagedDesignationList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}}}}]},"PagedSoftCreditList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedRefundList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]},"PagedGroupList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string"},"Description":{"type":"string"}}}]}}}}]},"PagedUserList":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},{"type":"object","properties":{"UserName":{"type":"string","description":"The user's username"},"PendingEmail":{"type":"string","description":"An email address that will be used once the user verifies it","format":"email"},"BccEmail":{"type":"string","format":"email"},"PermissionLevel":{"type":"string","enum":["Admin","Standard","StandardEditFinancialData"],"description":"A representation of the user's level of permission"},"Phone":{"type":"string","format":"phone"},"UserTimeZone":{"type":"object","properties":{"Id":{"type":"string","description":"See [.NET's TimeZoneInfo.Id property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id)"},"Name":{"type":"string","description":"See [.NET's TimeZoneInfo.StandardName property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.standardname)"},"UtcOffset":{"type":"string","description":"See [.NET's TimeZoneInfo.BaseUtcOffset property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.baseutcoffset)"}}}}}]}}}}]},"Database":{"properties":{"Id":{"type":"string","description":"Internal Bloomerang database ID"},"Name":{"type":"string","description":"Organization name"},"Flavor":{"type":"string","enum":["Customer","Conversions","Demo"]},"BaseLicenseProvider":{"type":"string","enum":["Bloomerang","Firespring","Benevon"]},"AccountingIntegration":{"type":"string","enum":["Aplos","QuickBooks Desktop","QuickBooks Online","None"]},"CurrentFiscalYearStartDate":{"type":"string","format":"date","description":"The start date of the organization's current fiscal year, as a date-only ISO string (YYYY-MM-DD). Advances by one year on the configured fiscal year start."}}},"UserBase":{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},"UserOutputModel":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},{"type":"object","properties":{"UserName":{"type":"string","description":"The user's username"},"PendingEmail":{"type":"string","description":"An email address that will be used once the user verifies it","format":"email"},"BccEmail":{"type":"string","format":"email"},"PermissionLevel":{"type":"string","enum":["Admin","Standard","StandardEditFinancialData"],"description":"A representation of the user's level of permission"},"Phone":{"type":"string","format":"phone"},"UserTimeZone":{"type":"object","properties":{"Id":{"type":"string","description":"See [.NET's TimeZoneInfo.Id property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id)"},"Name":{"type":"string","description":"See [.NET's TimeZoneInfo.StandardName property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.standardname)"},"UtcOffset":{"type":"string","description":"See [.NET's TimeZoneInfo.BaseUtcOffset property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.baseutcoffset)"}}}}}]},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"ManagedValueBase":{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}},"ManagedValueNoDefault":{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},"ManagedValueInput":{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}},"ManagedValue":{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},"PartialManagedValue":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"FundBase":{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},"FundCreateModel":{"allOf":[{"type":"object"},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Name"]},"FundUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"Fund":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"EmailInterest":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"IsSurveyEmailInterest":{"type":"boolean","description":"Is this an email interest for Bloomerang donor surveys?"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"GroupDetails":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string"},"Description":{"type":"string"}}}]},"GivingByYearModel":{"properties":{"Year":{"type":"number","format":"year"},"Raised":{"type":"number","format":"currency","description":"Total raised by this constituent in this year. When the enclosing response's RaisedCalculationMode is SoftCreditPledgeAdjusted, a soft credit that paid down one of this constituent's own pledges is subtracted from the donation that carried it rather than added on top of the pledge's own raised amount. Under Legacy it is counted in both places. See RaisedCalculationMode for the cases where the pledge does not take up what was subtracted."},"Revenue":{"type":"number","format":"currency","description":"Money actually received from this constituent in this year."},"SoftCredits":{"type":"number","format":"currency","description":"Total soft credits received by this constituent in this year. Reported in full, including any applied to a pledge -- it is the combined raised-plus-soft-credit views that avoid double-counting those, not this figure."}}},"CampaignBase":{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},"CampaignCreateModel":{"allOf":[{"type":"object"},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}],"required":["Name"]},"CampaignUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}]},"Campaign":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"AppealCreateModel":{"allOf":[{"type":"object"},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}],"required":["Name"]},"AppealUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}]},"Appeal":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"TributeBase":{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},"TributeCreateModel":{"allOf":[{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Name","TributeType"]},"TributeUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Id"]},"Tribute":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"Processor":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Type":{"type":"string"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},{"type":"object","properties":{"PublicKey":{"type":"string","description":"The public key for this processor"},"IsStripeConnect":{"type":"boolean","description":"Is this a Stripe processor with Stripe Connect enabled?"},"BloomerangPaymentsProcessorId":{"type":"string","format":"uuid","description":"The identifier of the associated Bloomerang Payments (Stripe Custom) processor. Only present for Bloomerang Payments (Stripe Custom) processors."},"Status":{"type":"string","description":"The status of the processor. Only present for Bloomerang Payments (Stripe Custom) processors. Values may include: Pending, NeedsDocumentation, Completed, Disabled, NotStarted, Onboarding."},"IsBloomerangPaymentsOnboarding":{"type":"boolean","description":"Indicates whether the database is currently in the Bloomerang Payments (Stripe Custom) onboarding flow. Only present for Bloomerang Payments (Stripe Custom) processors."}}}]},"RelationshipBase":{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}},"RelationshipOutputModel":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}},"RelationshipInputModel":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRoleId1":{"type":"integer","format":"int64"},"RelationshipRoleId2":{"type":"integer","format":"int64"}}},"RelationshipCreateModel":{"allOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRoleId1":{"type":"integer","format":"int64"},"RelationshipRoleId2":{"type":"integer","format":"int64"}}}],"required":["AccountId1","AccountId2","RelationshipRoleId1","RelationshipRoleId2"]},"RelationshipUpdateModel":{"allOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRoleId1":{"type":"integer","format":"int64"},"RelationshipRoleId2":{"type":"integer","format":"int64"}}}],"required":["Id"]},"RelationshipRole":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"ConstituentBase":{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},"ConstituentInputModel":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"ConstituentMergeModel":{"description":"Additional validation note - passing in SecondaryAddresses, SecondaryEmails, or SecondaryPhones will throw an exception.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}}}]},"ConstituentCreateModel":{"allOf":[{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"IDs for custom email interests if the email interest type is Custom"}}}],"required":["Type"]},"ConstituentUpdateModel":{"allOf":[{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}]},"Constituent":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"Membership":{"allOf":[{"type":"object","properties":{"MembershipScheduleId":{"type":"integer","format":"int64"},"MembershipProgramName":{"type":"string"},"MembershipLevelName":{"type":"string"},"MembershipStatus":{"type":"string"},"MembershipRenewalDate":{"type":"string"}}}]},"ConstituentWithMembership":{"allOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"type":"object"}],"properties":{"Membership":{"type":"array","items":{"allOf":[{"type":"object","properties":{"MembershipScheduleId":{"type":"integer","format":"int64"},"MembershipProgramName":{"type":"string"},"MembershipLevelName":{"type":"string"},"MembershipStatus":{"type":"string"},"MembershipRenewalDate":{"type":"string"}}}]}}}},"ConstituentDuplicate":{"description":"Validation note - If Type is \"Organization\", OrganizationName is required.  If Type is \"Individual\", FirstName and LastName are required.","properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"OrganizationName":{"type":"string"},"Street":{"type":"string"},"PhoneNumber":{"type":"string"},"EmailAddress":{"type":"string"}}},"CommunicationRestrictionsUpdateModel":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's communication restrictions"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}},"required":["UpdateReason","CommunicationRestrictions"]},"PreferredChannelUpdateModel":{"properties":{"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]}},"required":["PreferredCommunicationChannel"]},"EmailInterestUpdateModel":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's email interests"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"IDs for custom email interests if the email interest type is Custom"}},"required":["UpdateReason","EmailInterestType"]},"ConstituentCommunicationSettingsUpdateModel":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's communication restrictions"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}},"required":["UpdateReason","CommunicationRestrictions"]},"PreferredChannel":{"properties":{"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]}},"required":["PreferredCommunicationChannel"]},"EmailInterests":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's email interests"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"IDs for custom email interests if the email interest type is Custom"}},"required":["UpdateReason","EmailInterestType"]}}},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"HouseholdBase":{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},"HouseholdInputModel":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Head":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"Members":{"type":"array","items":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}}}}]},"HouseholdCreateModel":{"allOf":[{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Head":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"Members":{"type":"array","items":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}}}}]}],"required":["FullName","SortName","InformalName","FormalName","EnvelopeName","RecognitionName","Head"]},"HouseholdUpdateModel":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"}}},{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Head":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"Members":{"type":"array","items":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}}}}]}]},"HouseholdOutputModel":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]},"HouseholdCommunicationSettingsUpdateModel":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's communication restrictions"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}},"required":["UpdateReason","CommunicationRestrictions"]}},"required":["CommunicationRestrictionsUpdateModel"]},"AddressBase":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"AddressCreateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}],"required":["Type","Country"]},"Address":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"EmailBase":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"Email":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"EmailCreateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}],"required":["Type","Value"]},"PhoneBase":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}},"Phone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"PhoneCreateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"required":["Type","Number"]},"AccountType":{"type":"string","enum":["Individual","Organization","Household"]},"ConstituentType":{"type":"string","enum":["Individual","Organization"]},"HouseholdType":{"type":"string","enum":["Household"]},"AccountStatus":{"type":"string","enum":["Active","Inactive","Deceased"]},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Gender":{"type":"string","enum":["Male","Female","Other"]},"HighLow":{"type":"string","enum":["Low","High"]},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]},"AddressType":{"type":"string","enum":["Home","Vacation","Work"]},"EmailType":{"type":"string","enum":["Home","Work"]},"PhoneType":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"TaskStatus":{"type":"string","enum":["Active","Complete","Archived"]},"TimelineEntryType":{"type":"string","enum":["Interaction","Note","Refund","SoftCredit","Task","Transaction"]},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestriction":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"DonationType":{"type":"string","enum":["Donation"]},"PledgeType":{"type":"string","enum":["Pledge"]},"PledgePaymentType":{"type":"string","enum":["PledgePayment"]},"RecurringDonationType":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentType":{"type":"string","enum":["RecurringDonationPayment"]},"DesignationType":{"type":"string","enum":["Donation","Pledge","PledgePayment","RecurringDonation","RecurringDonationPayment"]},"PaymentMethodType":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"PaymentEntryMethod":{"type":"string","enum":["Tap","Manual","Insert","ExistingWalletItem","AutoProcessed"]},"PaymentMethodOrigin":{"type":"string","enum":["Forms","Mobile","CRM"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"WalletItemType":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"WalletItemCreateType":{"type":"string","enum":["CreditCard","Eft"]},"InKindType":{"type":"string","enum":["Goods","Services"]},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"AttachmentBaseModel":{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},"AttachmentGuid":{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},"AttachmentUrl":{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}},"AttachmentId":{"properties":{"Id":{"type":"integer","format":"int64"}}},"AttachmentProfilePictureCreate":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]},"AttachmentNestedCreateModel":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},"AttachmentNestedUpdateModel":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},"InteractionBase":{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},"InteractionInputModel":{"allOf":[{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]},"InteractionCreateModel":{"allOf":[{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"allOf":[{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}],"required":["Date","Channel","Purpose","Subject"]},"InteractionUpdateModel":{"allOf":[{"allOf":[{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}]},"Interaction":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"WalletItemBase":{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},"WalletItemCreateModel":{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft"]},"Token":{"type":"string"},"IsSpreedlyToken":{"type":"boolean","description":"Is the provided token from Spreedly?"},"EftAccountType":{"type":"string","enum":["Checking","Savings"],"description":"Required if Type is Eft"},"EftAccountLastFour":{"type":"string","description":"Required if Type is Eft.  Must be exactly 4 characters"},"EftRoutingNumber":{"type":"string","description":"Required if Type is Eft.  Must be no more than 32 characters"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]}}}],"required":["AccountId","Type","TransactionProcessorAccountId","Token","IsSpreedlyToken"]},"WalletItem":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFour":{"type":"string"},"CreditCardExpiration":{"type":"string"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftAccountLastFour":{"type":"string"},"EftRoutingNumber":{"type":"string"},"PaymentMethodToken":{"type":"string"}}}]},"NoteBase":{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},"NoteInputModel":{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]},"NoteCreateModel":{"allOf":[{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}],"required":["AccountId","Date","Note"]},"NoteUpdateModel":{"allOf":[{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}]},"Note":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"TimelineEntrySummary":{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The Timeline Entry's ID"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the Constituent to whom the Timeline Entry belongs"},"Type":{"type":"string","enum":["Interaction","Note","Refund","SoftCredit","Task","Transaction"]},"CreatedDate":{"type":"string","format":"date","description":"When the Timeline Entry was created"},"Date":{"type":"string","format":"date","description":"Timeline Entry's Date"}}},"TaskBase":{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},"TaskCreateModel":{"allOf":[{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]},"TaskUpdateModel":{"allOf":[{"allOf":[{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber). AccountId can only be edited if it is being changed from Null to a valid AccountId."},"CompletedDate":{"type":"string","format":"date"}}}]},"Task":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"TransactionBase":{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},"TransactionMethodNone":{"description":"For transactions with no payment method, like a Pledge or Recurring Donation schedule.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},"TransactionMethodCash":{"description":"For cash transactions.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},"TransactionMethodCheck":{"description":"For check transactions; requires a check number.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"}},"required":["CheckNumber"]}]},"TransactionMethodInKind":{"description":"For in-kind donations of goods or services.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"}},"required":["InKindDescription"]}]},"TransactionMethodCreditCard":{"description":"For Credit Card, Apple Pay, or Google Pay. You must provide either a WalletItemId OR the full set of manual credit card details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"}}}]},"TransactionMethodEft":{"description":"For EFT (bank transfer). You must provide either a WalletItemId OR the manual EFT details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"}}}]},"TransactionMethodOnlineWallet":{"description":"For PayPal or Venmo. These methods must use a WalletItemId.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"}},"required":["WalletItemId"]}]},"TransactionCreateModel":{"description":"Creates a transaction. The required fields depend on the payment method.","oneOf":[{"description":"For transactions with no payment method, like a Pledge or Recurring Donation schedule.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For cash transactions.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For check transactions; requires a check number.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"}},"required":["CheckNumber"]}]},{"description":"For in-kind donations of goods or services.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"}},"required":["InKindDescription"]}]},{"description":"For Credit Card, Apple Pay, or Google Pay. You must provide either a WalletItemId OR the full set of manual credit card details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"}}}]},{"description":"For EFT (bank transfer). You must provide either a WalletItemId OR the manual EFT details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"}}}]},{"description":"For PayPal or Venmo. These methods must use a WalletItemId.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"}},"required":["WalletItemId"]}]}],"discriminator":{"propertyName":"Method","mapping":{"None":"#/components/schemas/TransactionMethodNone","Cash":"#/components/schemas/TransactionMethodCash","Check":"#/components/schemas/TransactionMethodCheck","InKind":"#/components/schemas/TransactionMethodInKind","CreditCard":"#/components/schemas/TransactionMethodCreditCard","Eft":"#/components/schemas/TransactionMethodEft","ApplePay":"#/components/schemas/TransactionMethodCreditCard","GooglePay":"#/components/schemas/TransactionMethodCreditCard","PayPal":"#/components/schemas/TransactionMethodOnlineWallet","Venmo":"#/components/schemas/TransactionMethodOnlineWallet"}}},"TransactionUpdateModel":{"description":"Updates a transaction. The available fields change based on the payment method.","oneOf":[{"description":"For transactions with no payment method, like a Pledge or Recurring Donation schedule.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For cash transactions.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For check transactions; requires a check number.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"}},"required":["CheckNumber"]}]},{"description":"For in-kind donations of goods or services.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"}},"required":["InKindDescription"]}]},{"description":"For Credit Card, Apple Pay, or Google Pay. You must provide either a WalletItemId OR the full set of manual credit card details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"}}}]},{"description":"For EFT (bank transfer). You must provide either a WalletItemId OR the manual EFT details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"}}}]},{"description":"For PayPal or Venmo. These methods must use a WalletItemId.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"}},"required":["WalletItemId"]}]}],"discriminator":{"propertyName":"Method","mapping":{"None":"#/components/schemas/TransactionMethodNone","Cash":"#/components/schemas/TransactionMethodCash","Check":"#/components/schemas/TransactionMethodCheck","InKind":"#/components/schemas/TransactionMethodInKind","CreditCard":"#/components/schemas/TransactionMethodCreditCard","Eft":"#/components/schemas/TransactionMethodEft","ApplePay":"#/components/schemas/TransactionMethodCreditCard","GooglePay":"#/components/schemas/TransactionMethodCreditCard","PayPal":"#/components/schemas/TransactionMethodOnlineWallet","Venmo":"#/components/schemas/TransactionMethodOnlineWallet"}}},"Transaction":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"DesignationBase":{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},"PledgePaymentBase":{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},"PledgeBase":{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},"RecurringDonationBase":{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},"RecurringDonationPaymentBase":{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},"DonationCreateModel":{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},"PledgePaymentCreateModel":{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},"PledgeCreateModel":{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},"RecurringDonationCreateModel":{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},"RecurringDonationPaymentCreateModel":{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]},"DonationUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]},{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"}},"required":["Id"]},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}}]}]}}},"required":["Id"]}]},"PledgePaymentUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","required":["Id"]}]},"PledgeUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the pledge used in the API (not to be confused with DesignationNumber)"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"type":"object","properties":{"PledgeInstallments":{"type":"array","items":{"oneOf":[{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}},{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}]}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]},{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"}},"required":["Id"]},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}}]}]}}},"required":["Id"]}]},"RecurringDonationUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the recurring donation used in the API (not to be confused with DesignationNumber)"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]},{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"}},"required":["Id"]},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}}]}]}}},"required":["Id"]}]},"RecurringDonationPaymentUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment"}},"required":["Id"]}]},"Designation":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},"Donation":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},"PledgePaymentFailure":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the pledge payment failure"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge"},"InstallmentId":{"type":"integer","format":"int64","description":"The ID of this payment failure's associated pledge installment"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"Reason":{"type":"string","description":"The reason for the payment failure"},"IsResolved":{"type":"boolean","description":"Whether or not the payment failure has been resolved"},"IsSuppressed":{"type":"boolean","description":"Whether or not the payment failure has been suppressed"}}},"Pledge":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},"PledgePayment":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},"RecurringDonation":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},"RecurringDonationPayment":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]},"PledgeInstallmentCreate":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}},"PledgeInstallment":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}},"PledgeWriteOff":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"SoftCreditBase":{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},"SoftCreditNestedCreateModel":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]},"SoftCreditIndividualCreateModel":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"}},"required":["Amount","AccountId","DesignationId"]}]},"SoftCreditUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"}},"required":["Id"]},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}}]},"SoftCredit":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"RefundBase":{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},"RefundCreateModel":{"allOf":[{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"RunProcessorRefund":{"type":"boolean","description":"If true, the processor will be asked to refund the transaction as well as in the CRM.  If false, only the CRM will be updated. If omitted this field will default to true."}},"required":["TransactionId","Date"]}]},"RefundUpdateModel":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"},"Date":{"type":"string","format":"date"}},"required":["Id"]},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}}]},"Refund":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"CustomFieldCategory":{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"}}},"CustomField":{"properties":{"Id":{"type":"integer","format":"int64"},"CategoryId":{"type":"integer","format":"int64"},"Name":{"type":"string"},"IsRequired":{"type":"boolean"},"IsActive":{"type":"boolean"},"DataType":{"type":"string","enum":["Currency","Date","Decimal","Text","Year"]},"PickType":{"type":"string","enum":["Freeform","PickMultiple","PickOne"]},"SortIndex":{"type":"integer","format":"int32"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"CustomValue":{"properties":{"Id":{"type":"integer","format":"int64"},"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string"},"IsActive":{"type":"boolean"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"PartialCustomValue":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}},"OneValueAssignment":{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},"MultipleValueAssignments":{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}},"FreeformValueAssignmentInput":{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},"PickOneValueAssignmentInput":{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},"PickMultipleValueAssignmentInput":{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}},"TimelineFieldOrderBy":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"TransactionFieldOrderBy":{"type":"string","enum":["Amount","CreatedDate","Date","LastModifiedDate"]},"OrderByDirection":{"type":"string","enum":["Asc","Desc"]},"CustomFieldObjectType":{"type":"string","enum":["Constituent","Transaction","Interaction","Note","Benevon"]},"CustomFieldDataType":{"type":"string","enum":["Currency","Date","Decimal","Text","Year"]},"CustomFieldPickType":{"type":"string","enum":["Freeform","PickMultiple","PickOne"]},"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]},"RecurringDonationScheduleFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},"security":[{"ApiKeyAuth":[]},{"OAuth2":[]}],"paths":{"/keys":{"post":{"tags":["Users"],"summary":"Returns the API keys for a given user.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string","format":"password"}}}}}},"responses":{"200":{"description":"The API keys for the user.","content":{"application/json":{"schema":{"type":"object","properties":{"UserApiKeys":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"}}}}}}}}}}}},"/database":{"get":{"tags":["Users"],"summary":"Gets general organization information.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"Id":{"type":"string","description":"Internal Bloomerang database ID"},"Name":{"type":"string","description":"Organization name"},"Flavor":{"type":"string","enum":["Customer","Conversions","Demo"]},"BaseLicenseProvider":{"type":"string","enum":["Bloomerang","Firespring","Benevon"]},"AccountingIntegration":{"type":"string","enum":["Aplos","QuickBooks Desktop","QuickBooks Online","None"]},"CurrentFiscalYearStartDate":{"type":"string","format":"date","description":"The start date of the organization's current fiscal year, as a date-only ISO string (YYYY-MM-DD). Advances by one year on the configured fiscal year start."}}}}}}}}},"/user/current":{"get":{"tags":["Users"],"summary":"Gets the user corresponding to the private API key used.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},{"type":"object","properties":{"UserName":{"type":"string","description":"The user's username"},"PendingEmail":{"type":"string","description":"An email address that will be used once the user verifies it","format":"email"},"BccEmail":{"type":"string","format":"email"},"PermissionLevel":{"type":"string","enum":["Admin","Standard","StandardEditFinancialData"],"description":"A representation of the user's level of permission"},"Phone":{"type":"string","format":"phone"},"UserTimeZone":{"type":"object","properties":{"Id":{"type":"string","description":"See [.NET's TimeZoneInfo.Id property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id)"},"Name":{"type":"string","description":"See [.NET's TimeZoneInfo.StandardName property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.standardname)"},"UtcOffset":{"type":"string","description":"See [.NET's TimeZoneInfo.BaseUtcOffset property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.baseutcoffset)"}}}}}]}}}}}}},"/users":{"get":{"tags":["Users"],"summary":"Gets a list of users.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"isActive","schema":{"type":"boolean","default":true},"description":"Filters to only users that are active (or inactive)"},{"in":"query","name":"username","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Filters results based on the username for the user."},{"in":"query","name":"name","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Filters results based on the name of the user."},{"in":"query","name":"email","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","format":"email"}},"description":"Filters results based on the email for the user."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the user."}],"responses":{"200":{"description":"The list of users that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},{"type":"object","properties":{"UserName":{"type":"string","description":"The user's username"},"PendingEmail":{"type":"string","description":"An email address that will be used once the user verifies it","format":"email"},"BccEmail":{"type":"string","format":"email"},"PermissionLevel":{"type":"string","enum":["Admin","Standard","StandardEditFinancialData"],"description":"A representation of the user's level of permission"},"Phone":{"type":"string","format":"phone"},"UserTimeZone":{"type":"object","properties":{"Id":{"type":"string","description":"See [.NET's TimeZoneInfo.Id property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id)"},"Name":{"type":"string","description":"See [.NET's TimeZoneInfo.StandardName property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.standardname)"},"UtcOffset":{"type":"string","description":"See [.NET's TimeZoneInfo.BaseUtcOffset property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.baseutcoffset)"}}}}}]}}}}]}}}}}}},"/users/search":{"get":{"tags":["Users"],"summary":"Searches for users","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"search","schema":{"type":"string"},"description":"The text to search username, name, and email address"},{"in":"query","name":"isActive","schema":{"type":"boolean","default":true},"description":"Filters to only users that are active (or inactive)"}],"responses":{"200":{"description":"The list of users that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string","description":"The user's friendly name"},"Email":{"type":"string","format":"email"},"IsActive":{"type":"boolean"},"SendTaskEmails":{"type":"boolean","default":false,"description":"User preference that determines whether Bloomerang will send them Task Reminder emails"}}},{"type":"object","properties":{"UserName":{"type":"string","description":"The user's username"},"PendingEmail":{"type":"string","description":"An email address that will be used once the user verifies it","format":"email"},"BccEmail":{"type":"string","format":"email"},"PermissionLevel":{"type":"string","enum":["Admin","Standard","StandardEditFinancialData"],"description":"A representation of the user's level of permission"},"Phone":{"type":"string","format":"phone"},"UserTimeZone":{"type":"object","properties":{"Id":{"type":"string","description":"See [.NET's TimeZoneInfo.Id property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id)"},"Name":{"type":"string","description":"See [.NET's TimeZoneInfo.StandardName property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.standardname)"},"UtcOffset":{"type":"string","description":"See [.NET's TimeZoneInfo.BaseUtcOffset property](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.baseutcoffset)"}}}}}]}}}}]}}}}}}},"/funds":{"get":{"tags":["Funds"],"summary":"Gets a list of funds","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to funds with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive funds"},{"in":"query","name":"isDefault","schema":{"type":"boolean"},"description":"Filters to either default or non-default funds"},{"in":"query","name":"search","schema":{"type":"string"},"description":"Filters to funds with names that match any part of the search string"}],"responses":{"200":{"description":"The list of funds that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]}}}}}}},"/fund":{"post":{"tags":["Funds"],"summary":"Creates a fund","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object"},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Name"]}}}},"responses":{"200":{"description":"The fund was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/fund/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the fund to return."}],"get":{"tags":["Funds"],"summary":"Gets a fund by ID","responses":{"200":{"description":"The fund with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}},"put":{"tags":["Funds"],"summary":"Updates a fund","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}},"responses":{"200":{"description":"The fund with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"GeneralLedgerClass":{"type":"string","description":"The class label for this fund in the general ledger (quickbooks)"},"DefaultQuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the general ledger (quickbooks) account to which this fund will default"},"QuickbooksAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all general ledger (quickbooks) accounts associated with this fund"}}}]},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/emailInterests":{"get":{"tags":["Email Interests"],"summary":"Gets a list of email interests.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to email interests with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive email interests"}],"responses":{"200":{"description":"The list of email interests that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"IsSurveyEmailInterest":{"type":"boolean","description":"Is this an email interest for Bloomerang donor surveys?"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]}}}}}}},"/emailInterest/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the email interest to return."}],"get":{"tags":["Email Interests"],"summary":"Gets a email interest by ID","responses":{"200":{"description":"The email interest with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"IsSurveyEmailInterest":{"type":"boolean","description":"Is this an email interest for Bloomerang donor surveys?"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/campaigns":{"get":{"tags":["Campaigns"],"summary":"Gets a list of campaigns","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to campaigns last modified after the specified date"},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to campaigns with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive campaigns"},{"in":"query","name":"search","schema":{"type":"string"},"description":"Filters to campaigns with names that match any part of the search string"},{"in":"query","name":"hasGoal","schema":{"type":"boolean"},"description":"Filters to campaigns that have either non-zero-dollar or zero-dollar goals"}],"responses":{"200":{"description":"The list of campaigns that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/campaign":{"post":{"tags":["Campaigns"],"summary":"Creates a campaign","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object"},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}],"required":["Name"]}}}},"responses":{"200":{"description":"The campaign was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/campaign/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the campaign to return."}],"get":{"tags":["Campaigns"],"summary":"Gets a campaign by ID","responses":{"200":{"description":"The campaign with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Campaigns"],"summary":"Updates a campaign","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}]}}}},"responses":{"200":{"description":"The campaign with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/campaigns/refreshsummaries":{"get":{"tags":["Campaigns"],"summary":"Refreshes campaign goals","responses":{"200":{"description":"The list of campaigns that are active and have a non-zero goal.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Raised":{"type":"number","format":"currency","description":"The total amount raised for this campaign. When RaisedCalculationMode is SoftCreditPledgeAdjusted, a donation whose soft credit paid down a pledge contributes only the remainder here, so this total is lower than the Legacy figure for the same campaign. The pledge normally contributes the rest; see RaisedCalculationMode for the written-off and overpaid cases where it does not. Always read that field alongside this one before comparing campaigns across databases or against a previously reported number."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."}}},{"allOf":[{"type":"object","properties":{"StartDate":{"type":"string","format":"date"},"EndDate":{"type":"string","format":"date"},"Goal":{"type":"number","format":"currency"}}}]},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/appeals":{"get":{"tags":["Appeals"],"summary":"Gets a list of appeals","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to appeals last modified after the specified date"},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to appeals with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive appeals"},{"in":"query","name":"search","schema":{"type":"string"},"description":"Filters to appeals with names that match any part of the search string"}],"responses":{"200":{"description":"The list of appeals that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/appeal":{"post":{"tags":["Appeals"],"summary":"Creates an appeal","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object"},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}],"required":["Name"]}}}},"responses":{"200":{"description":"The appeal was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/appeal/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the appeal to return."}],"get":{"tags":["Appeals"],"summary":"Gets a appeal by ID","responses":{"200":{"description":"The appeal with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Appeals"],"summary":"Updates an appeal","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"IsActive":{"type":"boolean","description":"Is this active?"},"SortIndex":{"type":"integer","format":"int32"}}}]}}}},"responses":{"200":{"description":"The appeal with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"},"IsActive":{"type":"boolean","description":"Is this active?"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/tributes":{"get":{"tags":["Tributes"],"summary":"Gets a list of tributes","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to tributes with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive tributes"}],"responses":{"200":{"description":"The list of tributes that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]}}}}}}},"/tribute":{"post":{"tags":["Tributes"],"summary":"Creates a tribute","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Name","TributeType"]}}}},"responses":{"200":{"description":"The tribute with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/tribute/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the tribute to return."}],"get":{"tags":["Tributes"],"summary":"Gets a tribute by ID","responses":{"200":{"description":"The tribute with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}},"put":{"tags":["Tributes"],"summary":"Edits a tribute","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}],"required":["Id"]}}}},"responses":{"200":{"description":"The tribute with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/tributes/search":{"get":{"tags":["Tributes"],"summary":"Searches for active tributes","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"search","schema":{"type":"string"},"description":"The text to search (must be at least 3 characters)"}],"responses":{"200":{"description":"The list of tributes that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"SortIndex":{"type":"integer","format":"int32"}}},{"allOf":[{"type":"object","properties":{"Note":{"type":"string"},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"NotificantAccountIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of all notificants (constituents) associated with this tribute"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]}}}}}}},"/processors":{"get":{"tags":["Processors"],"summary":"Gets a list of processors","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to processors with the IDs in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive processors"}],"responses":{"200":{"description":"The list of processors that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Type":{"type":"string"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},{"type":"object","properties":{"PublicKey":{"type":"string","description":"The public key for this processor"},"IsStripeConnect":{"type":"boolean","description":"Is this a Stripe processor with Stripe Connect enabled?"},"BloomerangPaymentsProcessorId":{"type":"string","format":"uuid","description":"The identifier of the associated Bloomerang Payments (Stripe Custom) processor. Only present for Bloomerang Payments (Stripe Custom) processors."},"Status":{"type":"string","description":"The status of the processor. Only present for Bloomerang Payments (Stripe Custom) processors. Values may include: Pending, NeedsDocumentation, Completed, Disabled, NotStarted, Onboarding."},"IsBloomerangPaymentsOnboarding":{"type":"boolean","description":"Indicates whether the database is currently in the Bloomerang Payments (Stripe Custom) onboarding flow. Only present for Bloomerang Payments (Stripe Custom) processors."}}}]}}}}]}}}}}}},"/processor/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the processor to return."}],"get":{"tags":["Processors"],"summary":"Gets a processor by ID","responses":{"200":{"description":"The processor with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Type":{"type":"string"}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]},{"type":"object","properties":{"PublicKey":{"type":"string","description":"The public key for this processor"},"IsStripeConnect":{"type":"boolean","description":"Is this a Stripe processor with Stripe Connect enabled?"},"BloomerangPaymentsProcessorId":{"type":"string","format":"uuid","description":"The identifier of the associated Bloomerang Payments (Stripe Custom) processor. Only present for Bloomerang Payments (Stripe Custom) processors."},"Status":{"type":"string","description":"The status of the processor. Only present for Bloomerang Payments (Stripe Custom) processors. Values may include: Pending, NeedsDocumentation, Completed, Disabled, NotStarted, Onboarding."},"IsBloomerangPaymentsOnboarding":{"type":"boolean","description":"Indicates whether the database is currently in the Bloomerang Payments (Stripe Custom) onboarding flow. Only present for Bloomerang Payments (Stripe Custom) processors."}}}]}}}}}}},"/relationship":{"post":{"tags":["Relationships"],"summary":"Creates a Relationship between two non-household Constituents","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRoleId1":{"type":"integer","format":"int64"},"RelationshipRoleId2":{"type":"integer","format":"int64"}}}],"required":["AccountId1","AccountId2","RelationshipRoleId1","RelationshipRoleId2"]}}}},"responses":{"200":{"description":"The relationship was created successfully.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}}}},"/relationship/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the relationship"}],"get":{"tags":["Relationships"],"summary":"Gets a relationship","responses":{"200":{"description":"The Relationship that was found","content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}}},"put":{"tags":["Relationships"],"summary":"Updates a relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRoleId1":{"type":"integer","format":"int64"},"RelationshipRoleId2":{"type":"integer","format":"int64"}}}],"required":["Id"]}}}},"responses":{"200":{"description":"The Relationship was updated","content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}}},"delete":{"tags":["Relationships"],"summary":"Deletes a Relationship","responses":{"201":{"description":"The relationship was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/relationshiproles":{"get":{"tags":["Relationship Roles"],"summary":"Gets a list of relationship roles","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to relationshipRoles last modified after the specified date"},{"in":"query","name":"id","schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters to relationship roles with the IDs in the list (pipe-separated)"},{"in":"query","name":"name","schema":{"type":"array","items":{"type":"string"}},"description":"Filters to relationship roles with the names in the list (pipe-separated)"},{"in":"query","name":"isActive","schema":{"type":"boolean"},"description":"Filters to either active or inactive relationship roles"}],"responses":{"200":{"description":"The list of relationship roles that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}]}}}}}}},"/relationshiprole/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the relationship role to return."}],"get":{"tags":["Relationship Roles"],"summary":"Gets a relationship role by ID","responses":{"200":{"description":"The relationship role with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}},"/constituents":{"get":{"tags":["Constituents"],"summary":"Gets a list of constituents","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to constituents last modified after the specified date"},{"in":"query","name":"isFavorite","schema":{"type":"boolean"},"description":"Filters constituents to only constituents the user has favorited."},{"in":"query","name":"type","schema":{"type":"string","enum":["Individual","Organization"]},"description":"Filters individuals and organizations"},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the constituent."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["Id","CreatedDate","LastModifiedDate"]},"description":"Sorts by Id, CreatedDate, or LastModifiedDate (default Id)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."},{"in":"query","name":"customFieldId","schema":{"type":"integer","format":"int64"},"description":"The custom field ID to filter by"},{"in":"query","name":"customFieldValue","schema":{"type":"string"},"description":"The custom field value to filter by"}],"responses":{"200":{"description":"The list of constituents that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"type":"object"}],"properties":{"Membership":{"type":"array","items":{"allOf":[{"type":"object","properties":{"MembershipScheduleId":{"type":"integer","format":"int64"},"MembershipProgramName":{"type":"string"},"MembershipLevelName":{"type":"string"},"MembershipStatus":{"type":"string"},"MembershipRenewalDate":{"type":"string"}}}]}}}}}}}]}}}}}}},"/constituent":{"post":{"tags":["Constituents"],"summary":"Creates a constituent","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"IDs for custom email interests if the email interest type is Custom"}}}],"required":["Type"]}}}},"responses":{"200":{"description":"The constituent was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/constituent/duplicates":{"get":{"tags":["Constituents"],"summary":"Searches for possible duplicate constituents.","description":"When searching for duplicates, a name match and one piece of matching contact information is required for an existing constituent to be considered a duplicate.  Accordingly, you must supply either firstName and lastName (for individuals) or organizationName (for organizations). You must also supply at least street, phoneNumber, or emailAddress.","parameters":[{"in":"query","name":"firstName","schema":{"type":"string"}},{"in":"query","name":"lastName","schema":{"type":"string"}},{"in":"query","name":"organizationName","schema":{"type":"string"}},{"in":"query","name":"street","schema":{"type":"string"}},{"in":"query","name":"phoneNumber","schema":{"type":"string"}},{"in":"query","name":"emailAddress","schema":{"type":"string","format":"email"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"description":"The list of constituents","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}},"post":{"tags":["Constituents"],"summary":"Searches for possible duplicate constituents.","description":"When searching for duplicates, a name match and one piece of matching contact information is required for an existing constituent to be considered a duplicate.  Accordingly, you must supply either firstName and lastName (for individuals) or organizationName (for organizations). You must also supply at least street, phoneNumber, or emailAddress.","requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Validation note - If Type is \"Organization\", OrganizationName is required.  If Type is \"Individual\", FirstName and LastName are required.","properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"OrganizationName":{"type":"string"},"Street":{"type":"string"},"PhoneNumber":{"type":"string"},"EmailAddress":{"type":"string"}}}}}},"responses":{"200":{"description":"The list of constituents","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/constituent/merge":{"post":{"tags":["Constituents"],"summary":"Creates a new constituent or merges data with an existing constituent","description":"When merging, the database will look for a possible duplicate defined as a name plus one piece of contact info (address, email, or phone). If a duplicate is found, the data passed in will be merged into an existing constituent. If no duplicate is found, a new constituent will be created.  Note that this endpoint does not accept SecondaryAddresses, SecondaryEmails, or SecondaryPhones and you will receive an exception if you pass those in..","requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Additional validation note - passing in SecondaryAddresses, SecondaryEmails, or SecondaryPhones will throw an exception.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}}}]}}}},"responses":{"200":{"description":"The new or updated constituent","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/constituents/search":{"get":{"tags":["Constituents","Households"],"summary":"Searches for constituents and households","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"search","schema":{"type":"string"},"description":"The text to search"},{"in":"query","name":"type","schema":{"type":"string","enum":["Individual","Organization","Household"]},"description":"Filters individuals, organizations, and households"}],"responses":{"200":{"description":"The list of constituents and households that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"oneOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}]}}}}]}}}}}}},"/constituent/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the constituent to return."}],"get":{"tags":["Constituents"],"summary":"Gets a constituent by ID","responses":{"200":{"description":"The constituent with the given ID.","content":{"application/json":{"schema":{"allOf":[{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},{"type":"object"}],"properties":{"Membership":{"type":"array","items":{"allOf":[{"type":"object","properties":{"MembershipScheduleId":{"type":"integer","format":"int64"},"MembershipProgramName":{"type":"string"},"MembershipLevelName":{"type":"string"},"MembershipStatus":{"type":"string"},"MembershipRenewalDate":{"type":"string"}}}]}}}}}}}}},"put":{"tags":["Constituents"],"summary":"Updates a constituent","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}]}}}},"responses":{"200":{"description":"The constituent was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Constituents"],"summary":"Deletes a constituent","responses":{"200":{"description":"The constituent was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/constituent/{id}/relationships":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"Constituent ID for whom to retrieve Relationships"},{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to constituent relationships last modified after the specified date"}],"get":{"tags":["Constituents"],"summary":"Gets all Relationships for the specified constituent.","responses":{"200":{"description":"Array of Relationships","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"},"AccountId1":{"type":"integer","format":"int64"},"AccountId2":{"type":"integer","format":"int64"},"Note":{"type":"string"}}}],"properties":{"RelationshipRole1":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]},"RelationshipRole2":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"allOf":[{"type":"object","properties":{"SortIndex":{"type":"integer","format":"int32"}}},{"properties":{"Name":{"type":"string"},"IsDefault":{"type":"boolean","description":"Is this the default?"},"IsActive":{"type":"boolean","description":"Is this active?"}}}]}]}}}}}}]}}}}}}},"/constituent/{id}/timeline":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"Constituent ID for whom to retrieve the Timeline"},{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."}],"get":{"tags":["Constituents"],"summary":"Retrieves TimelineEntrySummary for the Constituent or all members of a Household (if Household ID is passed in). Excludes transactions the user didn’t create if the user only has access to view transactions they create.","responses":{"200":{"description":"Paged list of TimelineEntrySummary models","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The Timeline Entry's ID"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the Constituent to whom the Timeline Entry belongs"},"Type":{"type":"string","enum":["Interaction","Note","Refund","SoftCredit","Task","Transaction"]},"CreatedDate":{"type":"string","format":"date","description":"When the Timeline Entry was created"},"Date":{"type":"string","format":"date","description":"Timeline Entry's Date"}}}}}}]}}}}}}},"/constituent/{id}/updateCommunicationSettings":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"Constituent ID for whom to update communication settings"}],"put":{"tags":["Constituents"],"summary":"Updates the communication settings for a constituent","requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's communication restrictions"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}},"required":["UpdateReason","CommunicationRestrictions"]},"PreferredChannel":{"properties":{"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]}},"required":["PreferredCommunicationChannel"]},"EmailInterests":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's email interests"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterestIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"IDs for custom email interests if the email interest type is Custom"}},"required":["UpdateReason","EmailInterestType"]}}}}}},"responses":{"200":{"description":"The constituent with updated communication settings","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"IsInHousehold":{"type":"boolean","description":"Whether the Constituent is in a household"},"IsHeadOfHousehold":{"type":"boolean","description":"Whether the Constituent is in a household and is marked as the primary"},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"FullCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the full version of the custom profile image."},"FullCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the full version of the custom profile image."},"CroppedCustomProfileImageId":{"type":"integer","format":"int64","description":"The ID of the existing file attachment for the cropped version of the custom profile image."},"CroppedCustomProfileImageUrl":{"type":"string","format":"url","description":"The URL of the existing file attachment for the cropped version of the custom profile image."}}},{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"HouseholdId":{"type":"integer","format":"int64","description":"The ID of the household this constituent is in (not to be confused with AccountNumber)"},"PreferredCommunicationChannel":{"type":"string","enum":["Email","Phone","TextMessage","Mail"]},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"CommunicationRestrictionsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's communication restrictions"},"EmailInterestType":{"type":"string","enum":["All","Custom","OptedOut"]},"CustomEmailInterests":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"description":"IDs for custom email interests if the email interest type is Custom"},"EmailInterestsUpdateReason":{"type":"string","description":"The most-recent reason for updating this constituent's email interests"},"PrimaryAddress":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]},"PrimaryEmail":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]},"EngagementScoreLabel":{"type":"string","description":"The display label for the constituent's Engagement Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"DonorSearchInfo":{"properties":{"Id":{"type":"integer","format":"int64"},"GenerosityScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"GenerosityScoreLabel":{"type":"string","description":"The display label for the constituent's Generosity Score (e.g. Cold, Cool, Warm, Hot, On Fire!, Not Scanned)"},"AnnualFundLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"MajorGiftLikelihood":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High","NotScanned"]},"Quality":{"type":"string","enum":["Low","High"]},"LargestGiftMin":{"type":"number","format":"currency"},"LargestGiftMax":{"type":"number","format":"currency"},"WealthAskMin":{"type":"number","format":"currency"},"WealthAskMax":{"type":"number","format":"currency"},"BusinessExecutive":{"type":"boolean"},"NamesScreened":{"type":"string"},"DateTimeScreenedUtc":{"type":"string","format":"datetime"},"DemocraticContributionCount":{"type":"integer","format":"int32"},"RepublicanContributionCount":{"type":"integer","format":"int32"},"IndependentContributionCount":{"type":"integer","format":"int32"},"BusinessRevenues":{"type":"number","format":"currency"},"LargestGiftOrg":{"type":"string"},"TotalGiftAmount":{"type":"number","format":"currency"},"RealEstateCount":{"type":"integer","format":"int32"},"Foundations":{"type":"string"}}},"AddressIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the addresses including the primary address ID"},"EmailIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the emails including the primary email ID"},"PhoneIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the phones including the primary phone ID"},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/households":{"get":{"tags":["Households"],"summary":"Gets a list of households","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to households last modified after the specified date"},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the household."}],"responses":{"200":{"description":"The list of households that met the search criteria.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}]}}}}}}},"/household":{"post":{"tags":["Households"],"summary":"Creates a Household","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Head":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"Members":{"type":"array","items":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}}}}]}],"required":["FullName","SortName","InformalName","FormalName","EnvelopeName","RecognitionName","Head"]}}}},"responses":{"200":{"description":"The household was created successfully.","content":{"application/json":{"schema":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}}}},"/household/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the household."}],"get":{"tags":["Households"],"summary":"Gets a household by ID","responses":{"200":{"description":"The household with the given ID.","content":{"application/json":{"schema":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}}},"delete":{"tags":["Households"],"summary":"Deletes a household","description":"Only the household will be deleted, not the members of the household.","responses":{"200":{"description":"The household was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}},"put":{"tags":["Households"],"summary":"Updates a household","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"}}},{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Head":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]},"Members":{"type":"array","items":{"description":"Additional validation note - FirstName and LastName are required when Type is Individual.  FullName is required when Type is Organization.","allOf":[{"properties":{"Type":{"type":"string","enum":["Individual","Organization"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"FirstName":{"type":"string"},"LastName":{"type":"string"},"MiddleName":{"type":"string"},"Prefix":{"type":"string","description":"Must match a prefix in the Bloomerang CRM"},"Suffix":{"type":"string","description":"Must match a suffix in the Bloomerang CRM"},"FullName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"},"JobTitle":{"type":"string"},"Employer":{"type":"string"},"Website":{"type":"string","format":"uri"},"FacebookId":{"type":"string"},"TwitterId":{"type":"string"},"LinkedInId":{"type":"string"},"Gender":{"type":"string","enum":["Male","Female","Other"]},"Birthdate":{"type":"string","format":"date"},"ProfilePictureType":{"type":"string","enum":["None","Custom","Twitter"]}}},{"type":"object","properties":{"PrimaryAddress":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryAddresses":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary addresses"},"PrimaryEmail":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"SecondaryEmails":{"type":"array","items":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},"description":"Non-primary email addresses"},"PrimaryPhone":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"SecondaryPhones":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},"description":"Non-primary phones"},"FullCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The full picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CroppedCustomProfileImage":{"items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}}]}]},"description":"The cropped picture File Attachment. Note that a Constituent can only have one Profile Picture; adding a new one will remove the old one."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}}]}}}}]}]}}}},"responses":{"200":{"description":"The household was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}}}},"/household/{id}/updateCommunicationSettings":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"Household ID for which to update communication settings"}],"put":{"tags":["Households"],"summary":"Updates the communication settings for a household and all its members","requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"properties":{"UpdateReason":{"type":"string","description":"The reason for updating this constituent's communication restrictions"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}}},"required":["UpdateReason","CommunicationRestrictions"]}},"required":["CommunicationRestrictionsUpdateModel"]}}}},"responses":{"200":{"description":"The household with updated communication settings","content":{"application/json":{"schema":{"allOf":[{"properties":{"FullName":{"type":"string"},"SortName":{"type":"string"},"InformalName":{"type":"string"},"FormalName":{"type":"string"},"EnvelopeName":{"type":"string"},"RecognitionName":{"type":"string"}}},{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the household used in the API (not to be confused with AccountNumber)"},"AccountNumber":{"type":"integer","format":"int64","description":"A user-friendly account number used in the Bloomerang CRM UI (not to be confused with ID)."},"Type":{"type":"string","enum":["Household"]},"Status":{"type":"string","enum":["Active","Inactive","Deceased"]},"HeadId":{"type":"integer","format":"int64","description":"The ID of the head of household used in the API (not to be confused with AccountNumber)"},"MemberIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the members of the household used in the API, including the head of household's ID (not to be confused with AccountNumber)"},"CommunicationRestrictions":{"type":"array","items":{"type":"string","enum":["DoNotCall","DoNotMail","DoNotSolicit"]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"IsFavorite":{"type":"boolean","description":"True if this constituent is a favorite of the current user"},"EngagementScore":{"type":"string","enum":["Low","MediumLow","Medium","MediumHigh","High"]}}}]}}}}}}},"/addresses":{"get":{"tags":["Addresses"],"summary":"Gets a list of addresses.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to addresses last modified after the specified date"},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the address."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the address."}],"responses":{"200":{"description":"The list of addresses that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]}}}}]}}}}}}},"/address":{"post":{"tags":["Addresses"],"summary":"Creates an address","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}],"required":["Type","Country"]}}}},"responses":{"200":{"description":"The address was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]}}}}}}},"/address/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the address to return."}],"get":{"tags":["Addresses"],"summary":"Gets an address by ID","responses":{"200":{"description":"The address with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]}}}}}},"put":{"tags":["Addresses"],"summary":"Updates an address","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}}}},"responses":{"200":{"description":"The address was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Vacation","Work"]},"Street":{"type":"string"},"City":{"type":"string"},"State":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"PostalCode":{"type":"string"},"Country":{"type":"string","description":"Must match a state in the Bloomerang CRM"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}},{"type":"object","properties":{"StateAbbreviation":{"type":"string","description":"The 2-3 letter abbreviation for the state/province"},"CountryCode":{"type":"string","description":"The 2 letter ISO code for the country"}}}]}}}}}},"delete":{"tags":["Addresses"],"summary":"Deletes an address","responses":{"200":{"description":"The address was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/email":{"post":{"tags":["Email Addresses"],"summary":"Creates an email address","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}],"required":["Type","Value"]}}}},"responses":{"200":{"description":"The email address was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/email/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the email address to return."}],"get":{"tags":["Email Addresses"],"summary":"Gets an email address by ID","responses":{"200":{"description":"The email address with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Email Addresses"],"summary":"Updates an email address","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}}}}},"responses":{"200":{"description":"The email address was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Email Addresses"],"summary":"Deletes an email address","responses":{"200":{"description":"The email address was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/emails":{"get":{"tags":["Email Addresses"],"summary":"Gets a list of email addresses.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to emails last modified after the specified date"},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the email address."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the email address."}],"responses":{"200":{"description":"The list of email addresses that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work"]},"Value":{"type":"string","format":"email","description":"The email address"},"IsPrimary":{"type":"boolean"},"IsBad":{"type":"boolean"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/phones":{"get":{"tags":["Phones"],"summary":"Gets a list of phones.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the phone."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the phone."}],"responses":{"200":{"description":"The list of phones that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}]}}}}}}},"/phone":{"post":{"tags":["Phones"],"summary":"Creates a phone","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"required":["Type","Number"]}}}},"responses":{"200":{"description":"The phone was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}}},"/phone/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the phone to return."}],"get":{"tags":["Phones"],"summary":"Gets a phone by ID","responses":{"200":{"description":"The phone with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}},"put":{"tags":["Phones"],"summary":"Updates a phone","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}},"responses":{"200":{"description":"The phone was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Type":{"type":"string","enum":["Home","Work","Mobile","Fax"]},"Extension":{"type":"string"},"Number":{"type":"string","format":"phone","description":"The phone number including formatting but not the extension"},"IsPrimary":{"type":"boolean"}}}],"properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}},"delete":{"tags":["Phones"],"summary":"Deletes a phone","responses":{"200":{"description":"The phone was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/interactions":{"get":{"tags":["Interactions"],"summary":"Gets a list of interactions.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"channel","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]}},"description":"Filters results based on the interaction's channel."},{"in":"query","name":"purpose","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]}},"description":"Filters results based on the interaction's purpose."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the interaction."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the interaction."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."}],"responses":{"200":{"description":"The list of interactions that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/interaction":{"post":{"tags":["Interactions"],"summary":"Creates an interaction","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"allOf":[{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}],"required":["Date","Channel","Purpose","Subject"]}}}},"responses":{"200":{"description":"The interaction was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/interaction/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the interaction to return."}],"get":{"tags":["Interactions"],"summary":"Gets an interaction by ID","responses":{"200":{"description":"The interaction with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Interactions"],"summary":"Updates an interaction","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}]}}}},"responses":{"200":{"description":"The interaction was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"Date":{"type":"string","format":"date"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"Subject":{"type":"string"},"IsInbound":{"type":"boolean"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TweetId":{"type":"string","description":"If the Channel is Twitter, this contains the ID of the tweet that can be used to display the tweet by substituting into https://twitter.com/anyUser/status/{TweetId}"},"IsBcc":{"type":"boolean","description":"Whether or not this interaction was created by an email that was sent to Bloomerang via BCC"},"EmailAddress":{"type":"string","format":"email","description":"If the interaction is an email interaction, this is the email address of the constituent that received the email. Only populated when IsBcc is true."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this interaction"}},"LetterAttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of generated letter attachments on this interaction."}},"SurveyLapsedResponses":{"type":"array","items":{"type":"string","description":"The list of reasons the donor lapsed, if this interaction represents a lapsed donor survey response"}},"IsEngagementSurveyResponse":{"type":"boolean","description":"Whether this interaction represents a donor survey response"},"SurveyEmailInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey email that was sent to the donor.  Only populated when IsEngagementSurveyResponse is true"},"IsEngagementSurveyEmail":{"type":"boolean","description":"Whether this interaction represents a survey email that was sent to the donor"},"SurveyResponseInteractionId":{"type":"integer","format":"int64","description":"The interaction ID of the survey response.  Only populated when IsEngagementSurveyEmail is true."},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Interactions"],"summary":"Deletes an interaction","responses":{"200":{"description":"The interaction was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/pledge/{id}/installments":{"get":{"tags":["Pledges"],"summary":"Returns a list of pledge installments for a given pledge.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"path","name":"id","required":true,"description":"A valid pledge ID","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Paged list of PledgeInstallments.","content":{"text/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}}}}]}}}}}}},"/pledge/generateInstallments":{"get":{"parameters":[{"in":"query","name":"pledgeAmount","description":"Total amount of the pledge","schema":{"type":"number","format":"currency"},"required":true},{"in":"query","name":"installmentAmount","description":"Amount of each installment","schema":{"type":"number","format":"currency"},"required":true},{"in":"query","name":"firstInstallmentDate","schema":{"type":"string","format":"date"},"required":true},{"in":"query","name":"frequency","schema":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]},"required":true},{"in":"query","name":"day1","schema":{"type":"integer","format":"int32"},"description":"Day1 & Day2 are only used with the TwiceMonthly frequency. If specified, day1 must be equal to the day value in firstInstallmentDate. If not specified, day1 will be set to the day value in firstInstallmentDate."},{"in":"query","name":"day2","schema":{"type":"integer","format":"int32"},"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"}],"tags":["Pledges"],"summary":"Returns a list of pledge installments for a given set of criteria. Note that this will not persist to the database, but these can be used as the PledgeInstallments property when creating or modifying a Pledge.","responses":{"200":{"description":"Array of PledgeInstallments.","content":{"text/json":{"schema":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}}}}}}}},"/pledge/{id}/payments":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the pledge"},{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."}],"get":{"tags":["Pledges"],"summary":"Returns a list of successful payments for the specified pledge","responses":{"200":{"description":"List of payments for the specified pledge","content":{"application/json":{"schema":{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]}}}}}}},"/pledge/{id}/paymentFailures":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the pledge"},{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."}],"get":{"tags":["Pledges"],"summary":"Returns a list of payment failures for the specified pledge","responses":{"200":{"description":"List of payments failures for the specified pledge","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the pledge payment failure"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge"},"InstallmentId":{"type":"integer","format":"int64","description":"The ID of this payment failure's associated pledge installment"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"Reason":{"type":"string","description":"The reason for the payment failure"},"IsResolved":{"type":"boolean","description":"Whether or not the payment failure has been resolved"},"IsSuppressed":{"type":"boolean","description":"Whether or not the payment failure has been suppressed"}}}}}}}}},"/pledge/{id}/writeOff":{"post":{"tags":["Pledges"],"summary":"Writes off a pledge","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The pledge that was written off","content":{"text/json":{"schema":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}}}}}}}},"/transactions":{"get":{"tags":["Transactions"],"summary":"Gets a list of Transactions","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to transactions last modified after the specified date"},{"in":"query","name":"transactionNumber","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the transaction's transactionNumber (called Payment Number in Bloomerang CRM Reporting)."},{"in":"query","name":"accountId","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the account ID for the transaction."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the transaction's ID."},{"in":"query","name":"type","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Donation","Pledge","PledgePayment","RecurringDonation","RecurringDonationPayment"]}},"description":"Filters the results based on if the transaction has at least one of the given designation types"},{"in":"query","name":"minAmount","style":"pipeDelimited","explode":false,"schema":{"type":"number","format":"currency"},"description":"Filters results based on the transaction's amount (inclusive)."},{"in":"query","name":"maxAmount","style":"pipeDelimited","explode":false,"schema":{"type":"number","format":"currency"},"description":"Filters results based on the transaction's amount (inclusive)."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["Amount","CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Amount, Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order (default descending)."},{"in":"query","name":"customFieldId","schema":{"type":"integer","format":"int64"},"description":"The custom field ID to filter by"},{"in":"query","name":"customFieldValue","schema":{"type":"string"},"description":"The custom field value to filter by"}],"responses":{"200":{"description":"Array of transactions.","content":{"text/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}]}}}}}}},"/transaction":{"post":{"tags":["Transactions"],"summary":"Creates a transaction","description":"Creates a transaction in the CRM database. Only initiates a payment charge if a WalletItem is provided. Only generates a receipt if the request comes from Bloomerang mobile.","security":[{"OAuth2":["StandardEditFinancialData"]}],"parameters":[{"in":"header","name":"EntryMethod","schema":{"type":"string","enum":["Tap","Manual","Insert","ExistingWalletItem","AutoProcessed"]},"description":"Specifies how the payment was entered (e.g., Manual, Tap)."},{"in":"header","name":"MethodOrigin","schema":{"type":"string","enum":["Forms","Mobile","CRM"]},"description":"Specifies the application or platform where the transaction originated (e.g., CRM, Mobile, Forms)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Creates a transaction. The required fields depend on the payment method.","oneOf":[{"description":"For transactions with no payment method, like a Pledge or Recurring Donation schedule.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For cash transactions.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For check transactions; requires a check number.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"}},"required":["CheckNumber"]}]},{"description":"For in-kind donations of goods or services.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"}},"required":["InKindDescription"]}]},{"description":"For Credit Card, Apple Pay, or Google Pay. You must provide either a WalletItemId OR the full set of manual credit card details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"}}}]},{"description":"For EFT (bank transfer). You must provide either a WalletItemId OR the manual EFT details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"}}}]},{"description":"For PayPal or Venmo. These methods must use a WalletItemId.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"}},"required":["WalletItemId"]}]}],"discriminator":{"propertyName":"Method","mapping":{"None":"#/components/schemas/TransactionMethodNone","Cash":"#/components/schemas/TransactionMethodCash","Check":"#/components/schemas/TransactionMethodCheck","InKind":"#/components/schemas/TransactionMethodInKind","CreditCard":"#/components/schemas/TransactionMethodCreditCard","Eft":"#/components/schemas/TransactionMethodEft","ApplePay":"#/components/schemas/TransactionMethodCreditCard","GooglePay":"#/components/schemas/TransactionMethodCreditCard","PayPal":"#/components/schemas/TransactionMethodOnlineWallet","Venmo":"#/components/schemas/TransactionMethodOnlineWallet"}}}}}},"responses":{"200":{"description":"The transaction was created successfully.","content":{"application/json":{"schema":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}}},"/transaction/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the transaction."}],"get":{"tags":["Transactions"],"summary":"Gets a transaction by ID","responses":{"200":{"description":"The transaction with the given ID.","content":{"application/json":{"schema":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}},"put":{"tags":["Transactions"],"summary":"Updates a transaction","security":[{"OAuth2":["StandardEditFinancialData"]}],"parameters":[{"in":"header","name":"EntryMethod","schema":{"type":"string","enum":["Tap","Manual","Insert","ExistingWalletItem","AutoProcessed"]},"description":"Specifies how the payment was entered (e.g., Manual, Tap)."},{"in":"header","name":"MethodOrigin","schema":{"type":"string","enum":["Forms","Mobile","CRM"]},"description":"Specifies the application or platform where the transaction originated (e.g., CRM, Mobile, Forms)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Updates a transaction. The available fields change based on the payment method.","oneOf":[{"description":"For transactions with no payment method, like a Pledge or Recurring Donation schedule.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For cash transactions.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]}]},{"description":"For check transactions; requires a check number.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"}},"required":["CheckNumber"]}]},{"description":"For in-kind donations of goods or services.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"}},"required":["InKindDescription"]}]},{"description":"For Credit Card, Apple Pay, or Google Pay. You must provide either a WalletItemId OR the full set of manual credit card details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"}}}]},{"description":"For EFT (bank transfer). You must provide either a WalletItemId OR the manual EFT details.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"}}}]},{"description":"For PayPal or Venmo. These methods must use a WalletItemId.","allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date","description":"The date of the transaction"},"Amount":{"type":"number","format":"currency","description":"The total amount of the transaction. Must equal the sum of its designations."},"FeeAmount":{"type":"number","format":"currency","description":"The fee amount associated with the transaction, if any."},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction"},"Designations":{"type":"array","minItems":1,"maxItems":20,"items":{"oneOf":[{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","Amount","FundId"]},{"allOf":[{"properties":{"PledgeFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly","Custom"]}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgeInstallments":{"type":"array","items":{"properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"NonDeductibleAmount":{"type":"number","format":"currency"},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this pledge"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","FundId","Amount","PledgeInstallments","PledgeFrequency"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}},{"type":"object"}],"required":["Amount","PledgeId"]},{"allOf":[{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this donation"},"SoftCredits":{"type":"array","items":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","required":["Amount","AccountId"]}]}}}}],"required":["Type","RecurringDonationStartDate","RecurringDonationFrequency","FundId","Amount"]},{"allOf":[{"description":"Common properties for all designation input models.","properties":{"Amount":{"type":"number","format":"currency"},"Note":{"type":"string"},"FundId":{"type":"integer","format":"int64","description":"The ID of the fund for this designation."},"CampaignId":{"type":"integer","format":"int64","description":"The ID of the campaign for this designation."},"AppealId":{"type":"integer","format":"int64","description":"The ID of the appeal for this designation."},"TributeId":{"type":"integer","format":"int64","description":"The ID of the tribute for this designation."},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of interactions that acknowledge this designation."},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}},{"type":"object","properties":{"QuickbooksAccountId":{"type":"integer","format":"int64","description":"The ID of the quickbooks account for this recurring donation payment (default = the parent recurring donation's quickbooks account ID)"},"IsExtraPayment":{"type":"boolean","description":"Controls whether this payment fulfills the schedule's next installment or is recorded as an additional/off-cycle charge. Set to true to record an additional payment: the schedule's next-installment date is not advanced and the next automated recurring charge is not affected; use this for historical back-fill, ad-hoc extra charges, or any scenario where the schedule's existing cadence should be preserved. Set to false to fulfill the schedule's next installment: the next-installment date advances forward by one cycle and the automated recurring charge that would otherwise run on that date will be skipped; do not use false for historical imports or back-fill, as it will cause the schedule to skip a live cycle. This field can only be set at create time; the API rejects attempts to change it on update."}}}],"required":["Type","Amount","RecurringDonationId","IsExtraPayment"]}]}},"Attachments":{"type":"array","items":{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}}},"required":["AccountId","Date","Amount","Method","Designations"]},{"type":"object","properties":{"WalletItemId":{"type":"integer","format":"int64"}},"required":["WalletItemId"]}]}],"discriminator":{"propertyName":"Method","mapping":{"None":"#/components/schemas/TransactionMethodNone","Cash":"#/components/schemas/TransactionMethodCash","Check":"#/components/schemas/TransactionMethodCheck","InKind":"#/components/schemas/TransactionMethodInKind","CreditCard":"#/components/schemas/TransactionMethodCreditCard","Eft":"#/components/schemas/TransactionMethodEft","ApplePay":"#/components/schemas/TransactionMethodCreditCard","GooglePay":"#/components/schemas/TransactionMethodCreditCard","PayPal":"#/components/schemas/TransactionMethodOnlineWallet","Venmo":"#/components/schemas/TransactionMethodOnlineWallet"}}}}}},"responses":{"200":{"description":"The transaction was updated successfully.","content":{"application/json":{"schema":{"description":"The transaction record returned by the API.","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API."},"TransactionNumber":{"type":"integer","format":"int64","description":"A user-friendly transaction number used in the Bloomerang CRM UI."},"AccountId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"FeeAmount":{"type":"number","format":"currency"},"Method":{"type":"string","enum":["None","Cash","Check","CreditCard","Eft","InKind","ApplePay","GooglePay","PayPal","Venmo"]},"CheckNumber":{"type":"string"},"CheckDate":{"type":"string","format":"date"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFourDigits":{"type":"string"},"CreditCardExpMonth":{"type":"number"},"CreditCardExpYear":{"type":"number"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftLastFourDigits":{"type":"string"},"EftRoutingNumber":{"type":"string"},"InKindDescription":{"type":"string"},"InKindType":{"type":"string","enum":["Goods","Services"]},"InKindMarketValue":{"type":"number","format":"currency"},"IntegrationUrl":{"type":"string","description":"The URL linking to a third-party integration on a transaction."},"Designations":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the attachments on this transaction."},"IsRefunded":{"type":"string","enum":["Yes","No"],"description":"Has this transaction been refunded?"},"RefundIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The IDs of the refunds on this transaction."},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}},"delete":{"tags":["Transactions"],"summary":"Deletes a transaction","security":[{"OAuth2":["StandardEditFinancialData"]}],"responses":{"200":{"description":"The transaction was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/transactions/designations":{"get":{"tags":["Transactions"],"summary":"Gets a list of designations","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"designationNumbers","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the designation's designationNumber."},{"in":"query","name":"transactionIds","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the transaction ID for the designation."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the designation's ID."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order (default descending)."}],"responses":{"200":{"description":"Array of designations.","content":{"text/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}}}}]}}}}}}},"/transactions/designation/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the designation to return."}],"get":{"tags":["Transactions"],"summary":"Gets a designation by ID","responses":{"200":{"description":"The designation with the given ID.","content":{"application/json":{"schema":{"oneOf":[{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Donation"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["Pledge"]},"PledgePaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the pledge"}},"PledgeInstallments":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64","description":"The designation ID of this installment's pledge"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeBalance":{"type":"number","format":"currency","description":"The current outstanding balance on the pledge"},"LastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"PledgeStatus":{"type":"string","enum":["InGoodStanding","InArrears","Fulfilled","Overpaid","WrittenOff","PartiallyWrittenOff"]},"PledgeWriteOffs":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"PledgeId":{"type":"integer","format":"int64"},"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"}}}},"PledgeAmountInArrears":{"type":"number","format":"currency","description":"If the pledge is in arrears, this is the current amount by which the pledge is in arrears"},"PledgeNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this pledge (if any)"},"PledgeFrequencyIsEditable":{"type":"boolean","description":"Determines whether the Pledge Frequency may be modified after the pledge has been created"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["PledgePayment"]}}},{"properties":{"Type":{"type":"string","enum":["PledgePayment"]},"PledgeId":{"type":"number","format":"int64","description":"The designation ID of the payment's pledge"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"properties":{"RecurringDonationEndDate":{"type":"string","format":"date"}}},{"type":"object","properties":{"RecurringDonationFrequency":{"type":"string","enum":["Weekly","EveryOtherWeekly","TwiceMonthly","Monthly","EveryOtherMonthly","Quarterly","Yearly"]},"RecurringDonationDay1":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationDay2":{"type":"integer","format":"int32","description":"Day1 & Day2 are only used with the TwiceMonthly frequency"},"RecurringDonationStartDate":{"type":"string","format":"date"},"Type":{"type":"string","enum":["RecurringDonation"]},"RecurringDonationPaymentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The array of designation IDs of the payments on the recurring donation schedule"}},"RecurringDonationNextInstallmentDate":{"type":"string","format":"date","description":"The next installment date for this recurring donation (if any)"},"RecurringDonationLastPaymentStatus":{"type":"string","enum":["AtRisk","Ended","Failed","NoPayment","Successful"]},"RecurringDonationStatus":{"type":"string","enum":["Active","Closed","Overdue"]}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with DesignationNumber)"},"DesignationNumber":{"type":"integer","format":"int64","description":"A user-friendly designation number used in the Bloomerang CRM UI (not to be confused with ID).  In Bloomerang CRM Reporting, this is known as the Transaction Number."},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Amount":{"type":"number","format":"currency"},"NonDeductibleAmount":{"type":"number","format":"currency"},"Note":{"type":"string"},"AcknowledgementStatus":{"type":"string","enum":["Yes","No","DoNotAcknowledge"]},"AcknowledgementInteractionIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of interactions that acknowledge this designation"}},"Fund":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"QuickbooksAccount":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Campaign":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Appeal":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"Tribute":{"properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the object"},"Name":{"type":"string"}}},"TributeType":{"type":"string","enum":["InHonorOf","InMemoryOf"]},"SoftCreditIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the soft credits on this transaction"}},"Raised":{"type":"number","format":"currency","description":"The amount this designation counts toward fundraising credit. It is normally equal to Revenue, but it is LOWER than Revenue when a soft credit on this designation was applied to a pledge: the amount is subtracted here so that it is not counted both on this donation and on the pledge it paid. A Raised below Revenue is expected in that case rather than a refund or a data-entry error. Never negative (floored at 0). Null for entry types that do not count toward raised, such as a pledge payment. Read RaisedCalculationMode before comparing or summing this figure across databases -- the two modes are computed on different bases, and it also records the cases where the pledge does not take up what was subtracted here."},"Revenue":{"type":"number","format":"currency","description":"The money actually received for this designation. 0 if the transaction was refunded. Null for entry types that are not received money, such as a pledge, which is a promise to give. Soft credits never change this value, so comparing it with Raised tells you whether any of this designation's money was credited to a pledge."},"IsPledgePaymentViaSoftCredit":{"type":"boolean","description":"True when a soft credit on this designation was applied to a pledge and has therefore reduced Raised below Revenue. Equivalent to checking Raised != Revenue, precomputed. Always false when RaisedCalculationMode is Legacy, because that mode never reduces Raised. Use it to explain a Raised that looks too low, or to find the donations whose credit has moved to a pledge."},"RaisedCalculationMode":{"type":"string","enum":["Legacy","SoftCreditPledgeAdjusted"],"description":"Which formula produced the Raised value in this response. This is not a fixed property of the API: the corrected calculation is being rolled out one database at a time, so the same endpoint can return one mode for one organization and the other mode for another at the same moment.\nSoftCreditPledgeAdjusted means the donation side subtracts any soft credits on the entry that pay down a pledge, floored at zero, so Raised can legitimately be less than Revenue. In the ordinary case the pledge reports that money instead and it stops being counted twice. Do not treat that as a guaranteed conservation, though: the two sides are computed independently rather than handed from one to the other, and a pledge that has been written off or overpaid absorbs less than the donation gave up, leaving the difference reported by neither side.\nLegacy means the older behaviour: Raised equals Revenue for non-pledge entries, and a soft credit that pays a pledge is counted both on the pledge and again on the donation it came from, so any total that combines the two counts that money twice.\nDo not compare or add Raised figures that carry different modes, and say which basis you used when reporting a total. If this field is absent the number came from a cached summary written before the mode was recorded, and which formula produced it is unknown."},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this interaction"}},"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"QuickBooksOnlineStatus":{"type":"string","description":"If the QuickBooks Online integration is enabled, this is the QBO status of the designation"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}},"Fundraiser":{"properties":{"FundraiserName":{"type":"string"},"AccountId":{"type":"integer","format":"int64"},"UserId":{"type":"integer","format":"int64"}}}}},{"type":"object","properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]}}},{"properties":{"Type":{"type":"string","enum":["RecurringDonationPayment"]},"RecurringDonationId":{"type":"number","format":"int64","description":"The designation ID of the payment's recurring donation schedule"}}}]}]}}}}}}},"/softcredits":{"get":{"tags":["Soft Credits"],"summary":"Gets a list of soft credits.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters soft credits to last modified after the specified date."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the soft credit."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the soft credit."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["AccountId","CreatedDate","LastModifiedDate"]},"description":"Sorts by AccountId, CreatedDate, or LastModifiedDate (default AccountId)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."}],"responses":{"200":{"description":"The list of soft credits that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/softcredit":{"post":{"tags":["Soft Credits"],"summary":"Creates a soft credit","security":[{"OAuth2":["StandardEditFinancialData"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"}},"required":["Amount","AccountId","DesignationId"]}]}}}},"responses":{"200":{"description":"The soft credit was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}},"400":{"description":"The request was rejected. Among the possible causes: the Amount exceeds the amount of the designation the soft credit is attached to, the designation is a pledge or recurring donation payment, or that constituent already has a soft credit on it."}}}},"/softcredit/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the soft credit to return."}],"get":{"tags":["Soft Credits"],"summary":"Gets a soft credit by ID","responses":{"200":{"description":"The soft credit with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Soft Credits"],"summary":"Updates a soft credit","security":[{"OAuth2":["StandardEditFinancialData"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"}},"required":["Id"]},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}}]}}}},"responses":{"200":{"description":"The soft credit was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the soft credit"},"DesignationId":{"type":"integer","format":"int64","description":"The ID of the designation used in the API (not to be confused with designationNumber)"},"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"PledgeId":{"type":"integer","format":"int64","description":"The ID of the pledge this soft credit was applied to. When set, this soft credit is paying down that pledge, which means the donation it sits on (see DesignationId) has its Raised reduced by this Amount wherever the corrected raised calculation is active. Omitted when the soft credit is not applied to a pledge."},"IsAppliedToPledge":{"type":"boolean","description":"True when this soft credit pays down a pledge. Equivalent to PledgeId being set, and provided as an explicit flag because PledgeId is omitted rather than returned as null when there is no pledge."}}},{"properties":{"Amount":{"type":"number","format":"currency","description":"The soft credit amount. Where the corrected raised calculation is active (see RaisedCalculationMode on the transaction or campaign) this may not exceed the amount of the designation the soft credit is attached to, and a larger value is rejected with a 400."},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"}}},{"type":"object","properties":{"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}},"400":{"description":"The request was rejected. Among the possible causes: the Amount exceeds the amount of the designation the soft credit is attached to, or the request tried to change the AccountId."}}},"delete":{"tags":["Soft Credits"],"summary":"Deletes a soft credit","security":[{"OAuth2":["StandardEditFinancialData"]}],"responses":{"200":{"description":"The soft credit was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/refunds":{"get":{"tags":["Refunds"],"summary":"Gets a list of refunds.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to refunds last modified after the specified date"},{"in":"query","name":"transactionId","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the transaction ID for the refund."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the refund."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."}],"responses":{"200":{"description":"The list of refunds that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/refund":{"post":{"tags":["Refunds"],"summary":"Creates a refund","security":[{"OAuth2":["StandardEditFinancialData"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"RunProcessorRefund":{"type":"boolean","description":"If true, the processor will be asked to refund the transaction as well as in the CRM.  If false, only the CRM will be updated. If omitted this field will default to true."}},"required":["TransactionId","Date"]}]}}}},"responses":{"200":{"description":"The refund was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/refund/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the refund to return."}],"get":{"tags":["Refunds"],"summary":"Gets a refund by ID","responses":{"200":{"description":"The refund with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Refunds"],"summary":"Updates a refund","security":[{"OAuth2":["StandardEditFinancialData"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"},"Date":{"type":"string","format":"date"}},"required":["Id"]},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}}]}}}},"responses":{"200":{"description":"The refund was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64","description":"The ID of the refund"}}},{"properties":{"TransactionId":{"type":"integer","format":"int64","description":"The ID of the transaction used in the API (not to be confused with transactionNumber)"},"Note":{"type":"string","description":"The reason for making this refund"}}},{"type":"object","properties":{"Date":{"type":"string","format":"date"},"Amount":{"type":"number","format":"currency"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Refunds"],"summary":"Deletes a refund","security":[{"OAuth2":["StandardEditFinancialData"]}],"responses":{"200":{"description":"The refund was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/notes":{"get":{"tags":["Notes"],"summary":"Gets a list of notes.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the note."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the note."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."}],"responses":{"200":{"description":"The list of notes that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/note":{"post":{"tags":["Notes"],"summary":"Creates a note","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}],"required":["AccountId","Date","Note"]}}}},"responses":{"200":{"description":"The note was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/note/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the note to return."}],"get":{"tags":["Notes"],"summary":"Gets a note by ID","responses":{"200":{"description":"The note with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Notes"],"summary":"Updates a note","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string","description":"The value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueId":{"type":"integer","format":"int64","description":"The ID of the pick value to assign; null clears the field"}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"ValueIds":{"type":"array","items":{"type":"integer","format":"int64"},"description":"The ID of the pick value to assign; an empty array clears the field"}}}]}},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}]}}}},"responses":{"200":{"description":"The note was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The IDs of the attachments on this note"}}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Date":{"type":"string","format":"date"},"Note":{"type":"string"}}},{"type":"object","properties":{"CustomValues":{"type":"array","items":{"oneOf":[{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Value":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}},{"properties":{"FieldId":{"type":"integer","format":"int64"},"FieldText":{"type":"string","description":"The label/text of the custom field"},"Values":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Value":{"type":"string"}}}}}}]}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Notes"],"summary":"Deletes a note","responses":{"200":{"description":"The note was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/walletitems":{"get":{"tags":["Wallet Items"],"summary":"Gets a list of wallet items for an account.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"requireActiveProcessor","schema":{"type":"boolean"},"description":"Includes only Wallet Items with an active Processor"},{"in":"query","name":"type","style":"pipeDelimited","explode":false,"schema":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"description":"Filters results based on the provided wallet item type."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the wallet item."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the wallet item."}],"responses":{"200":{"description":"The list of wallet items that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFour":{"type":"string"},"CreditCardExpiration":{"type":"string"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftAccountLastFour":{"type":"string"},"EftRoutingNumber":{"type":"string"},"PaymentMethodToken":{"type":"string"}}}]}}}}]}}}}}}},"/walletitem":{"post":{"tags":["Wallet Items"],"summary":"Creates a wallet item","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft"]},"Token":{"type":"string"},"IsSpreedlyToken":{"type":"boolean","description":"Is the provided token from Spreedly?"},"EftAccountType":{"type":"string","enum":["Checking","Savings"],"description":"Required if Type is Eft"},"EftAccountLastFour":{"type":"string","description":"Required if Type is Eft.  Must be exactly 4 characters"},"EftRoutingNumber":{"type":"string","description":"Required if Type is Eft.  Must be no more than 32 characters"},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]}}}],"required":["AccountId","Type","TransactionProcessorAccountId","Token","IsSpreedlyToken"]}}}},"responses":{"200":{"description":"The wallet item was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFour":{"type":"string"},"CreditCardExpiration":{"type":"string"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftAccountLastFour":{"type":"string"},"EftRoutingNumber":{"type":"string"},"PaymentMethodToken":{"type":"string"}}}]}}}}}}},"/walletitem/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the wallet item to return."}],"get":{"tags":["Wallet Items"],"summary":"Gets a wallet item by ID","responses":{"200":{"description":"The wallet item with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"}}},{"properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"TransactionProcessorAccountId":{"type":"integer","format":"int64","description":"The ID of the processor account used in the API"}}},{"type":"object","properties":{"Type":{"type":"string","enum":["CreditCard","Eft","ApplePay","GooglePay"]},"CreditCardType":{"type":"string","enum":["Visa","MasterCard","Discover","AmericanExpress","DinersClub","JCB"]},"CreditCardLastFour":{"type":"string"},"CreditCardExpiration":{"type":"string"},"EftAccountType":{"type":"string","enum":["Checking","Savings"]},"EftAccountLastFour":{"type":"string"},"EftRoutingNumber":{"type":"string"},"PaymentMethodToken":{"type":"string"}}}]}}}}}},"delete":{"tags":["Wallet Items"],"summary":"Deletes a wallet item","responses":{"200":{"description":"The wallet item was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/tasks":{"get":{"tags":["Tasks"],"summary":"Gets a list of tasks.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."},{"in":"query","name":"status","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Active","Complete","Archived"]}},"description":"Filters results based on the task's status."},{"in":"query","name":"minDueDate","schema":{"type":"string","format":"date"},"description":"Includes only tasks where the due date is on or after the parameter."},{"in":"query","name":"maxDueDate","schema":{"type":"string","format":"date"},"description":"Includes only tasks where the due date is on or before the parameter."},{"in":"query","name":"assignee","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the User ID the task is assigned to."},{"in":"query","name":"channel","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]}},"description":"Filters results based on the task's channel."},{"in":"query","name":"purpose","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]}},"description":"Filters results based on the task's purpose."},{"in":"query","name":"constituent","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the Constituent ID for the task."},{"in":"query","name":"id","style":"pipeDelimited","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Filters results based on the ID for the task."},{"in":"query","name":"orderBy","schema":{"type":"string","enum":["CreatedDate","Date","LastModifiedDate"]},"description":"Sorts by Date, CreatedDate, or LastModifiedDate (default Date)."},{"in":"query","name":"orderDirection","schema":{"type":"string","enum":["Asc","Desc"]},"description":"Sorts the orderBy in ascending or descending order."}],"responses":{"200":{"description":"The list of tasks that met the specified filters.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}]}}}}}}},"/task":{"post":{"tags":["Tasks"],"summary":"Creates a task","parameters":[{"in":"query","name":"sendNotifications","schema":{"type":"boolean","default":false},"description":"If true, Bloomerang will send email notifications to the user for this task."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]}}}},"responses":{"200":{"description":"The task was created successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/task/{id}":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the task to return."}],"get":{"tags":["Tasks"],"summary":"Gets a task by ID","responses":{"200":{"description":"The task with the given ID.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"put":{"tags":["Tasks"],"summary":"Updates a task","parameters":[{"in":"query","name":"sendNotifications","schema":{"type":"boolean","default":false},"description":"If true, Bloomerang will send email notifications to the user for this task."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"allOf":[{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Attachments":{"type":"array","items":{"oneOf":[{"allOf":[{"properties":{"Guid":{"type":"string","description":"The GUID of the object uploaded to S3. This should be generated by the client that is uploading the file attachment."}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]},{"allOf":[{"properties":{"Id":{"type":"integer","format":"int64"}}},{"description":"Validation notes - URL is required.  If creating attachments directly via the attachments endpoint (as opposed to including them a nested objects within other models), ParentType and ParentId are required.","properties":{"Name":{"type":"string","description":"User-friendly file name without the extension."},"Extension":{"type":"string","description":"No dot needed (use \"txt\" instead of \".txt\"). May be null if the attachment is just a URL."}}},{"properties":{"Url":{"type":"string","format":"uri","description":"If the file is stored in Bloomerang (not just a URL), this URL will only be good for 24 hours"}}}]}]}}}}]},{"type":"object","properties":{"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber). AccountId can only be edited if it is being changed from Null to a valid AccountId."},"CompletedDate":{"type":"string","format":"date"}}}]}}}},"responses":{"200":{"description":"The task was updated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}},"delete":{"tags":["Tasks"],"summary":"Deletes a task","responses":{"200":{"description":"The task was deleted successfully.","content":{"application/json":{"schema":{"properties":{"Id":{"type":"integer","description":"The ID of the object that was deleted","format":"int64"},"Type":{"type":"string","description":"The type of object that was deleted"},"Deleted":{"type":"boolean","description":"True if the object was deleted"}}}}}}}}},"/task/{id}/complete":{"put":{"tags":["Tasks"],"summary":"Completes a task.","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int64"},"description":"The task ID"},{"in":"query","name":"saveAsInteraction","schema":{"type":"boolean","default":true},"description":"True to create an interaction from the task; must be false if the task does not have a constituent"},{"in":"query","name":"completedDate","schema":{"type":"string","format":"date","default":"today"},"description":"The date the task is completed"}],"responses":{"200":{"description":"The task was completed.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"AccountId":{"type":"integer","format":"int64","description":"The ID of the constituent used in the API (not to be confused with accountNumber)"},"Status":{"type":"string","enum":["Active","Complete","Archived"]},"CompletedDate":{"type":"string","format":"date"}}},{"properties":{"DueDate":{"type":"string","format":"date"},"Subject":{"type":"string"},"Note":{"type":"string"},"Channel":{"type":"string","enum":["Email","MassEmail","Phone","TextMessage","Mail","InPerson","SocialMedia","Website","Twitter","Other","EngagementSurveyEmail","EngagementSurvey"]},"Purpose":{"type":"string","enum":["Acknowledgement","ImpactCultivation","Newsletter","Receipt","Solicitation","SpecialEvent","VolunteerActivity","PledgeReminder","Welcome","BenevonPointOfEntry","BenevonFollowUp","BenevonAskEvent","BenevonOneOnOneAsk","BenevonOngoingCultivation","Other"]},"UserId":{"type":"integer","format":"int64","description":"The ID of the user assigned to this task"}}},{"type":"object","properties":{"InteractionId":{"type":"integer","format":"int64","description":"The ID of the interaction created by the completion of this task"},"AttachmentIds":{"type":"array","items":{"type":"integer","format":"int64","description":"The ID of the attachments on this task"}},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}]}}}}}}},"/customFieldCategories/{type}/":{"get":{"tags":["Custom Fields"],"summary":"Gets a list of custom field categories.","parameters":[{"in":"path","name":"type","required":true,"schema":{"type":"string","enum":["Constituent","Transaction","Interaction","Note","Benevon"]},"description":"Filters categories for the given object type."}],"responses":{"200":{"description":"The list of custom field categories that met the specified filters.","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string"},"SortIndex":{"type":"integer","format":"int32"}}}}}}}}}},"/customFields/{type}/":{"get":{"tags":["Custom Fields"],"summary":"Gets a list of custom fields.","parameters":[{"in":"path","name":"type","required":true,"schema":{"type":"string","enum":["Constituent","Transaction","Interaction","Note","Benevon"]},"description":"Filters fields for the given object type."},{"in":"query","name":"isActive","schema":{"type":"boolean","default":true},"description":"Filters to only fields that are active (or inactive)"},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to custom fields last modified after the specified date"}],"responses":{"200":{"description":"The list of custom fields that met the specified filters.","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"CategoryId":{"type":"integer","format":"int64"},"Name":{"type":"string"},"IsRequired":{"type":"boolean"},"IsActive":{"type":"boolean"},"DataType":{"type":"string","enum":["Currency","Date","Decimal","Text","Year"]},"PickType":{"type":"string","enum":["Freeform","PickMultiple","PickOne"]},"SortIndex":{"type":"integer","format":"int32"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}}}},"/customValues/{type}":{"get":{"tags":["Custom Fields"],"summary":"Gets a list of custom values for all pick fields of the given object type.","parameters":[{"in":"path","name":"type","required":true,"schema":{"type":"string","enum":["Constituent","Transaction","Interaction","Note","Benevon"]},"description":"Filters fields for the given object type."},{"in":"query","name":"isActive","schema":{"type":"boolean","default":true},"description":"Filters to only values that are active (or inactive)"},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to custom field values last modified after the specified date"}],"responses":{"200":{"description":"The list of custom values that met the specified filters.","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string"},"IsActive":{"type":"boolean"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}}}},"/customValues/{type}/{fieldId}":{"get":{"tags":["Custom Fields"],"summary":"Gets a list of custom values for the given field.","parameters":[{"in":"path","name":"type","required":true,"schema":{"type":"string","enum":["Constituent","Transaction","Interaction","Note","Benevon"]},"description":"Filters fields for the given object type."},{"in":"path","name":"fieldId","required":true,"schema":{"type":"integer","format":"int64","description":"The custom field ID the values belong to"}},{"in":"query","name":"isActive","schema":{"type":"boolean","default":true},"description":"Filters to only values that are active (or inactive)"},{"in":"query","name":"lastModified","schema":{"type":"string","format":"date-time"},"description":"Filters to custom field values last modified after the specified date"}],"responses":{"200":{"description":"The list of custom values that met the specified filters.","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"Id":{"type":"integer","format":"int64"},"FieldId":{"type":"integer","format":"int64"},"Value":{"type":"string"},"IsActive":{"type":"boolean"},"AuditTrail":{"properties":{"CreatedDate":{"type":"string","format":"date-time"},"CreatedName":{"type":"string"},"LastModifiedDate":{"type":"string","format":"date-time"},"LastModifiedName":{"type":"string"}}}}}}}}}}}},"/groups":{"get":{"tags":["Groups"],"summary":"Gets a list of groups.","parameters":[{"in":"query","name":"skip","schema":{"type":"integer","minimum":0,"default":0},"description":"The number of items to skip before starting to collect the result set."},{"in":"query","name":"take","schema":{"type":"integer","minimum":1,"maximum":50,"default":50},"description":"The number of items to include in the result set."}],"responses":{"200":{"description":"The list of all groups.","content":{"application/json":{"schema":{"allOf":[{"properties":{"Total":{"type":"integer","description":"The total number of records in Bloomerang."},"TotalFiltered":{"type":"integer","description":"The total number of records that match the filters."},"Start":{"type":"integer","description":"The 0-based index of the first record."},"ResultCount":{"type":"integer","description":"The number of records included in the result set."}}},{"type":"object","properties":{"Results":{"type":"array","items":{"allOf":[{"type":"object","properties":{"Id":{"type":"integer","format":"int64"},"Name":{"type":"string"},"Description":{"type":"string"}}}]}}}}]}}}}}}}}}