{"swagger":"2.0","info":{"title":"Wild Apricot Admin API","description":"\nThis is Wild Apricot's API for administrators. You can use it if you already have a Wild Apricot account (typically with a website on  *.wildapricot.org). Otherwise, please use https://register.wildapricot.com to create a new account.\n\nIf you have any questions about this API, please contact our support team at support@wildapricot.com.\n","version":"7.24.0"},"host":"api.wildapricot.org","schemes":["https"],"basePath":"/v2.2","produces":["application/json","application/xml"],"securityDefinitions":{"OAuth2_autorizationCode":{"type":"oauth2","flow":"accessCode","authorizationUrl":"https://YOUR_ORGANIZATION.wildapricot.com/sys/login/OAuthLogin","tokenUrl":"https://oauth.wildapricot.org/auth/token","description":"\nUse this flow to get token by authorization through your organization website login form.\n\n - Replace YOUR_ORGANIZATION with valid domain name.\n - Allow SSO for your authorized application.\n - Add your web application redirect url to list of trusted domains for that application.\n\n See also `http://gethelp.wildapricot.com/en/articles/200`\n","scopes":{"auto":"autodetect allowed scopes based on current user permissions"}},"OAuth2_password":{"type":"oauth2","flow":"password","tokenUrl":"https://oauth.wildapricot.org/auth/token","description":"Use this authentication flow to get oauth token by providing user credentials.\nclientId and clientSecret should be taken from Authorized applications page in admin backend.\n\nFor example if your email is admin@yourdomain.com and password is 123456.\nyou should pass\n`username=admin@yourdomain.com&password=12345&&scope=auto`\n","scopes":{"auto":"autodetect allowed scopes based on current user permissions"}},"OAuth2_clientCredentials":{"type":"oauth2","flow":"application","tokenUrl":"https://oauth.wildapricot.org/auth/token","description":"Use this authentication flow to get token by providing API key.\nFor example is your ApiKey is o9q834ywiefyywo34yt you should pass values:\nclientId=APIKEY&clientSecret=o9q834ywiefyywo34yt\n","scopes":{"auto":"autodetect allowed scopes based on current user permissions"}}},"security":[{"OAuth2_autorizationCode":[]},{"OAuth2_password":[]},{"OAuth2_clientCredentials":[]}],"paths":{"/":{"get":{"operationId":"GetApiResources","summary":"Base URL for specific API version.","description":"base URL for specific API version. It provides a list of resources that can be directly accessible by URL without providing any additional information like account ID etc.","responses":{"200":{"description":"Array of resources","schema":{"type":"array","items":{"$ref":"#/definitions/Resource"}}}}}},"/accounts":{"get":{"operationId":"GetAccountsList","summary":"List of available accounts","description":"List of accounts available with current oAuth token. Typicaly here would be only one record in an array\n","tags":["Accounts"],"responses":{"200":{"description":"An array of accounts","schema":{"type":"array","items":{"$ref":"#/definitions/Account"}}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}":{"get":{"operationId":"GetAccount","summary":"Details for specific account","description":"Details for specific account\n","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Accounts"],"responses":{"200":{"description":"Account details","schema":{"$ref":"#/definitions/Account"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/contacts":{"get":{"operationId":"GetContactsList","summary":"Contacts list","description":"\nContacts search can be executed in synchronous and asynchronous manner. It depends on $async query string parameters.\n  # Synchronous call\n  When API call is processing synchronously, then response is just an array of contacts.\n  To make a synchronous contacts search, client application should make a request with query string parameter **$async=false**.\n\n  `GET https://api.wildapricot.org/v2/accounts/{account_id}/contacts?$async=false&OTHER_QUERY_PARAMS`\n\n  # Asynchronous call\n  Contacts search is processed asynchronously by default. So if client application specifies $async=true, or does not specify this parameter at all, the request is processed as described below. In this case contacts search is a two-step action.\n  - **Search request**. Client specifies search conditions and receives resultId. See $filter and $select parameters for filtering.\n  - **Retrieve result**. Client passes resultId and receives request processing status and contacts list if request is already processed\n\n![async contact search diagramm](http://localhost:8019/Content/swagger/WAFiles/ContactListAsyncCall.png)\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"$async","in":"query","required":false,"type":"boolean","description":"\nControls whether the API call is perform asynchronously. Default value if true.\n"},{"name":"resultId","in":"query","required":false,"type":"string","description":"\nThis parameter is used on a second step of asynchronous search. It should equal to the value of ResultId in response to the first step of asynchronous search.\n"},{"name":"$filter","in":"query","required":false,"type":"string","description":"\nFilters the results of the Contacts API call so that only those records that match the filter criteria are included.\nSee [Filtering the results](http://gethelp.wildapricot.com/en/articles/502#filtering) for details.\n"},{"name":"$select","in":"query","required":false,"type":"string","description":"Controls which fields are returned in the Contacts API call.  The field names correspond to the fields returned by the [ContactFields API call](#/Contacts.CustomFields/GetContactFieldDefinitions), not the field names that appear in Wild Apricot. Multiple field names are separated by commas, and field names with spaces or special characters are enclosed in single quotation marks.\n"},{"name":"$sort","in":"query","required":false,"type":"string","description":"\nOrdering expression. There are 2 sorting options - **Name** and  **MemberSince**. And also 2 direction modifiers - **asc** and **desc**.\n---\nExample of valid expression - MemberSince asc\n"},{"name":"simpleQuery","in":"query","required":false,"type":"string","description":"\nsimpleQuery is a parameter which allows you to search for contacts by matching a substring in first name, last name, organization, email or phone. This is simpler than using $filter parameter. \n"},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"},{"name":"$count","in":"query","required":false,"type":"boolean","description":"\nSpecifies that the result should contain only a total number of records matching criteria. Requests with specified $count parameter are always processed as synchronous.\n"},{"name":"idsOnly","in":"query","required":false,"type":"boolean","description":"\nWhen idsOnly specified, the API returns only a list of identifiers matching criteria.\n"}],"tags":["Contacts"],"responses":{"200":{"description":"A wrapper object, which contains a list of contacts, contact identifiers, contacts count or information about asynchronous search request.","schema":{"$ref":"#/definitions/ContactsResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateContact","summary":"Create a new contact or member record","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contact","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateContactParams"},"description":"\n- Values for read-only or unrecognized fields will be ignored.\n- In order to **assign membership**\n  - set MembershipEnabled=true\n  - set MembershipLevel.Id to id of desired level\n\n- In order to **assign bundle** membership\n  - set MembershipEnabled=true\n  - set MembershipLevel.Id to id of some bundle level\n  - set 'Member role' field value to json '{ \"Label\": \"ROLE\" }' where ROLE is \"Bundle administrator\" or \"Bundle member\"\n  - For bundle member set field 'Bundle ID' to value of bundle identifier. The bundle ID is returned by the [Bundles API call](https://gethelp.wildapricot.com/en/articles/504) when using it to retrieve bundle information for a particular membership level.\n"}],"tags":["Contacts"],"responses":{"200":{"description":"Returns created contact record.","schema":{"$ref":"#/definitions/contactExtendedMembershipInfo"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/contacts/me":{"get":{"operationId":"GetCurrentContactInfo","summary":"Retrieve information about current contact","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Contacts"],"responses":{"200":{"description":"information about current contact","schema":{"$ref":"#/definitions/ContactsMe"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/contacts/{contactId}":{"get":{"operationId":"GetContactDetails","summary":"Retrieve information about specific member or contact","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"path","description":"Unique contact identifier","required":true,"type":"integer"},{"name":"getExtendedMembershipInfo","in":"query","required":false,"type":"boolean","description":"\nWhen GetExtendedMembershipInfo specified the API returns the information about membership order status, membership invoice and allowed actions for current member status.\n"}],"tags":["Contacts"],"responses":{"200":{"description":"information about specific member or contact","schema":{"$ref":"#/definitions/contactExtendedMembershipInfo"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateContactDetails","summary":"Update information about existing member or contact","description":"In order to update contact details it is recommended to provide only the custom fields you want to modify. See POST .../contacts for more details.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"path","description":"Unique contact identifier","required":true,"type":"integer"},{"name":"contact","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateContactParams"}}],"tags":["Contacts"],"responses":{"200":{"description":"Updated version of contact information.\n","schema":{"$ref":"#/definitions/contactExtendedMembershipInfo"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteContact","description":"Delete an archived contact","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"path","description":"Unique contact identifier","required":true,"type":"integer"}],"tags":["Contacts"],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/AcceptTermsOfUse":{"post":{"operationId":"AcceptTermsOfUse","summary":"Accepts Terms of Use.","description":"Accepts Wild Apricot Terms of Use for currently loged in user. Does nothing if accepted already.\n","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Contacts"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/contactfields":{"get":{"operationId":"GetContactFieldDefinitions","summary":"List of custom fields related to contacts and members.","description":"\nThis list contains a list of fields of 2 different types.\n - System fields are defined by Wild Apricot system and cannot be removed.\n - Custom fields can be defined by administrator to store some data specific to your account.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"showSectionDividers","in":"query","type":"boolean","required":false,"default":false,"description":"Default value is false. Specifies whether section dividers also should be included in the response."}],"tags":["Contacts.CustomFields"],"responses":{"200":{"description":"An array of contact field descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/ContactFieldDescription"}}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateContactFieldDefinition","summary":"Creates a new contact / membership field","parameters":[{"$ref":"#/parameters/accountId"},{"name":"ContactField","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateContactFieldParams"}}],"tags":["Contacts.CustomFields"],"responses":{"200":{"description":"created field identifier","schema":{"type":"integer"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/contactfields/{contactFieldId}":{"put":{"operationId":"UpdateContactFieldDefinition","summary":"Updates an existing contact / membership field","description":"Limitations: field type cannot be changed; contact field cannot be transformed to membership field or vice versa","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactFieldId","in":"path","description":"contact field identifier","required":true,"type":"integer"},{"name":"ContactField","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateContactFieldParams"}}],"tags":["Contacts.CustomFields"],"responses":{"200":{"description":"return true if field was updated successfully","schema":{"type":"boolean"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteContactFieldDefinition","description":"removes existing field by id","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactFieldId","in":"path","description":"contact field identifier","required":true,"type":"integer"}],"tags":["Contacts.CustomFields"],"responses":{"200":{"description":"return true if field was removed successfully","schema":{"type":"boolean"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/savedsearches":{"get":{"operationId":"GetSavedSearchesList","summary":"List of Saved Searches.","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Contacts.SavedSearch"],"responses":{"200":{"description":"An array of saved search descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/SavedSearchListItem"}}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/savedsearches/{savedSearchId}":{"get":{"operationId":"GetSavedSearchDetails","summary":"Saved Search and found contacts.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"savedSearchId","in":"path","description":"Saved Search identifier","required":true,"type":"integer"},{"name":"excludeArchived","in":"query","description":"exclude archived contacts from found ContactIDs.","required":false,"default":false,"type":"boolean"},{"name":"$filter","in":"query","required":false,"type":"string","description":"\nFilters the results of the Contacts API call so that only those records that match the filter criteria are included.\nSee [Filtering the results](http://gethelp.wildapricot.com/en/articles/502#filtering) for details.\n"}],"tags":["Contacts.SavedSearch"],"responses":{"200":{"description":"Saved Search description and found contact IDs","schema":{"$ref":"#/definitions/SavedSearch"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/pictures/{pictureId}":{"get":{"operationId":"GetPictureContent","summary":"Download picture","description":"Picture available for specific account.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"pictureId","in":"path","description":"Picture identifier","required":true,"type":"string"},{"name":"fullSize","in":"query","description":"Full size picture will be returned. If full size picture does not exist, thumbnail will be returned.","required":false,"type":"boolean","default":false},{"name":"asBase64","in":"query","description":"Base64 encoded image will be returned.","required":false,"type":"boolean","default":false}],"tags":["Pictures"],"responses":{"200":{"description":"Response is common HttpResponseMessage with content set to picture binary data.","schema":{"type":"file"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/pictures":{"post":{"operationId":"UploadPicture","summary":"Upload pictures","description":"Picture can be uploaded using multipart/form-data POST request (contains Content-Type header set to 'multipart/form-data'). A multipart/form-data request contains a series of parts, each representing a picture. Each part is expected to contain a \"Content-Disposition\" header whose value is \"form-data\". One of its properties (Name, FileName) must be set and have unique value. In case of similar values, only one of those part will be used, others will be dropped. For example, you have uploaded 2 pictures with same Name set to \"name\". If they have different FileName set, it's ok, but if FileName properties are same as well, only one of those pictures will be saved and available for further processing. Keep this in mind.\nLimitations:\n  - Maximum size for one uploaded picture is 10mb.\n  - Maximum request length is 10mb. It means that you can upload one 10mb picture or 10 pictures 1mb each.\n  - Maximum dimensions for uploaded picture are not set, but each picture will be resized to 110px after uploading.\n  - Supported picture types are: png, jpeg, bmp. Bmp pictures will be converted to png format.\n  - Time period after uploading when picture would be available for use is 30 minutes.\n  - Each uploaded picture can be used only once. After first usage it will be removed permanently.\n  - Mime type must be 'image' and must correlate to picture type. If you upload the 'png' with 'image/bmp' mime type set, this picture will be dropped.\n  - In case of uploading several pictures in one request either 'Name' or 'FileName' property of Content-Disposition header must be set. Otherwise the picture will be dropped.\n","consumes":["multipart/form-data"],"parameters":[{"$ref":"#/parameters/accountId"},{"name":"picture0","in":"formData","description":"The uploaded picture0 data","type":"file","required":true},{"name":"picture1","in":"formData","description":"The uploaded picture1 data","type":"file","required":false}],"tags":["Pictures"],"responses":{"200":{"description":"Response is simple json object which contains picture guids (see example)","schema":{"type":"object","properties":{"picture0":{"type":"string","example":"cldyhbc3.jpeg","description":"Picture guid"},"picture1":{"type":"string","example":"kxdtilz4.jpeg","description":"Picture guid"}}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/attachments/{attachmentId}":{"get":{"operationId":"GetAttachmentContent","summary":"Download attachment","description":"Attachment, available for specific account.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"attachmentId","in":"path","description":"Attachment identifier","required":true,"type":"string"},{"$ref":"#/parameters/ThumbnailSize"},{"name":"asBase64","in":"query","description":"Base64 encoded image will be returned.","required":false,"type":"boolean","default":false}],"tags":["Attachments"],"responses":{"200":{"description":"Response is common HttpResponseMessage with content set to attachment binary data.","schema":{"type":"file"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/attachments/GetInfos":{"get":{"operationId":"GetAttachmentInfos","summary":"Get attachments infos","description":"Attachment infos, available for specific account.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"attachmentIds","in":"query","description":"list of comma separated Attachment identifiers","required":true,"type":"string"}],"tags":["Attachments"],"responses":{"200":{"description":"An array of attachment descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/FileInfo"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/attachments/Upload":{"post":{"operationId":"UploadAttachments","summary":"Upload attachments","description":"Upload attachments data and get their identifiers to use for contact values.  Attachment not used for any Contact field value will be deleted in 30 minutes.\n","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/AttachmentDataParams"}],"tags":["Attachments"],"responses":{"200":{"description":"An array of attachment descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/FileInfo"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/membershiplevels":{"get":{"operationId":"GetMembershipLevelsList","summary":"Get list of all membership levels.","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Membership.Levels"],"responses":{"200":{"description":"Collection of membership levels.","schema":{"type":"array","items":{"$ref":"#/definitions/MembershipLevel"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/membershiplevels/{levelId}":{"get":{"operationId":"GetMembershipLevelDetails","summary":"Retrieve information about specific membership level","parameters":[{"$ref":"#/parameters/accountId"},{"name":"levelId","in":"path","description":"Unique membership level identifier","required":true,"type":"integer"}],"tags":["Membership.Levels"],"responses":{"200":{"description":"information about specific membership level","schema":{"$ref":"#/definitions/MembershipLevel"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/bundles":{"get":{"operationId":"GetMembershipBundlesList","summary":"Get list of membership bundles.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"levelId","in":"query","required":false,"type":"integer","description":"Provide this parameter to get only bundles related to specific membership level."}],"tags":["Membership.Bundles"],"responses":{"200":{"description":"List of bundles matching query parameters.","schema":{"type":"array","items":{"$ref":"#/definitions/Bundle"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/bundles/{bundleId}":{"get":{"operationId":"GetMembershipBundle","summary":"Get membership bundle details.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"bundleId","in":"path","description":"Unique bundle identifier","required":true,"type":"integer"}],"tags":["Membership.Bundles"],"responses":{"200":{"description":"Bundle description.","schema":{"$ref":"#/definitions/Bundle"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/membergroups":{"get":{"operationId":"GetMembershipGroups","summary":"List of Ad Hoc member groups.","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Membership.Groups"],"responses":{"200":{"description":"An array of member group descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/MembershipGroupListItem"}}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/membergroups/{memberGroupId}":{"get":{"operationId":"GetMembershipGroupDetails","summary":"Ad Hoc member group.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"memberGroupId","in":"path","description":"member group identifier","required":true,"type":"integer"},{"name":"includeArchivedMembers","in":"query","description":"include archived contacts in ContactIds list. Default - true.","required":false,"default":true,"type":"boolean"}],"tags":["Membership.Groups"],"responses":{"200":{"description":"member group description","schema":{"$ref":"#/definitions/MembershipGroup"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/ApprovePendingMembership":{"post":{"operationId":"ApprovePendingMembership","summary":"Approve pending membership.","description":"\nAvailability of this action depends on contact's state. In order to prevent failures it is recommended to get contact details with parameter getExtendedMembershipInfo=true and use list of allowed actions from Contact.ExtendedMembershipInfo.AllowedActions. If this action is not allowed but client calls it, then API returns HTTP 400, Bad request.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","description":"Contact ID to approve membership","required":true,"type":"integer"}],"tags":["Membership.Operations"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"400":{"$ref":"#/responses/badRequest"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/RejectPendingMembership":{"post":{"operationId":"RejectPendingMembership","summary":"Reject pending membership.","description":"\nAvailability of this action depends on contact's state. In order to prevent failures it is recommended to get contact details with parameter getExtendedMembershipInfo=true and use list of allowed actions from Contact.ExtendedMembershipInfo.AllowedActions. If this action is not allowed but client calls it, then API returns HTTP 400, Bad request.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","description":"Contact ID to reject membership","required":true,"type":"integer"}],"tags":["Membership.Operations"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"400":{"$ref":"#/responses/badRequest"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/events":{"get":{"operationId":"GetEventsList","summary":"Events list","description":"","parameters":[{"$ref":"#/parameters/accountId"},{"name":"$async","in":"query","required":false,"type":"boolean","description":"\nControls whether the API call is perform asynchronously. Default value if true.\n"},{"name":"resultId","in":"query","required":false,"type":"string","description":"\nThis parameter is used on a second step of asynchronous search. It should equal to the value of ResultId in response to the first step of asynchronous search.\n"},{"name":"$filter","in":"query","required":false,"type":"string","description":"\nFilters the results of the Events API call so that only those records that match the filter criteria are included.\nThe following filter criterias are supported:\n\n  - Id, Supported operations: in.\n  - RegistrationEnabled, Supported operations: eq, ne.\n  - IsUpcoming, Supported operations: eq, ne.\n  - Tags, Supported operations: in.\n  - StartDate, Supported operations: eq, ne, gt, ge, lt, le.\n  - EndDate, Supported operations: eq, ne, gt, ge, lt, le.\n  - Name, Supported operations: eq, ne, substringof.\n  - TextIndex, Supported operations: substringof.\n"},{"name":"$sort","in":"query","required":false,"type":"string","description":"\nThis parameter can be used to sort list of IDs or list of events. Possible values are\n\n  - ByStartDate asc - sort events by their Start date. Ascending order.\n  - ByStartDate desc - sort events by their Start date. Descending order.\n  - ByStartSession asc - sort events by start of their sessions (if exists). All past events ignored\n\n  Example: $sort=ByStartDate asc"},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"},{"name":"$count","in":"query","required":false,"type":"boolean","description":"\nSpecifies that result should contain only a total number of records matching criteria. Requests with specified $count parameter are always processed as synchronous.\n"},{"name":"idsOnly","in":"query","required":false,"type":"boolean","description":"\nWhen idsOnly specified, the API returns only a list of identifiers matching criteria.\n"}],"tags":["Events"],"responses":{"200":{"description":"A wrapper object, which contains a list of events, event identifiers or events count.","schema":{"$ref":"#/definitions/EventsResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateEvent","summary":"Create a new event record","parameters":[{"$ref":"#/parameters/accountId"},{"name":"event","in":"body","required":true,"schema":{"$ref":"#/definitions/EventEditParams"},"description":"Event description"}],"tags":["Events"],"responses":{"200":{"description":"Returns created event record id","schema":{"type":"number"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/events/{eventId}":{"get":{"operationId":"GetEventDetails","summary":"Retrieve information about specific event","parameters":[{"$ref":"#/parameters/accountId"},{"name":"eventId","in":"path","description":"Unique event identifier","required":true,"type":"integer"}],"tags":["Events"],"responses":{"200":{"description":"information about specific event","schema":{"$ref":"#/definitions/Event"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateEvent","summary":"Update information about existing event","parameters":[{"$ref":"#/parameters/accountId"},{"name":"eventId","in":"path","description":"Unique event identifier","required":true,"type":"integer"},{"name":"event","in":"body","required":true,"schema":{"$ref":"#/definitions/EventEditParams"}}],"tags":["Events"],"responses":{"200":{"description":"Updated version of event information.\n","schema":{"$ref":"boolean"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteEvent","description":"Completely delete event from system.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"eventId","in":"path","description":"Unique event identifier","required":true,"type":"integer"}],"tags":["Events"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/CloneEvent":{"post":{"operationId":"CloneEvent","summary":"Clone existed event.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/CloneEvent"}],"tags":["Events"],"responses":{"200":{"description":"created event id","schema":{"type":"integer"}},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/accounts/{accountId}/EventRegistrationTypes":{"get":{"operationId":"getEventRegistrationTypesList","summary":"Event registration types list","description":"","parameters":[{"$ref":"#/parameters/accountId"},{"name":"eventId","in":"query","description":"event identifier","required":true,"type":"integer"}],"tags":["Events.EventRegistrationTypes"],"responses":{"200":{"description":"List of event registration types","schema":{"$ref":"#/definitions/EventRegistrationTypeResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateEventRegistrationType","summary":"Creates a new event registration type.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"EventRegistrationType","schema":{"$ref":"#/definitions/EventRegistrationTypeEditParams"},"in":"body","required":true}],"tags":["Events.EventRegistrationTypes"],"responses":{"200":{"description":"Created event registration type ID","schema":{"type":"integer"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/EventRegistrationTypes/{typeId}":{"get":{"operationId":"GetEventRegistrationTypeDetails","summary":"Event registration type details","parameters":[{"$ref":"#/parameters/accountId"},{"name":"typeId","in":"path","description":"Unique event registration type identifier","required":true,"type":"number","format":"integer"}],"tags":["Events.EventRegistrationTypes"],"responses":{"200":{"description":"Information about specific event registration type","schema":{"$ref":"#/definitions/EventRegistrationType"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateEventRegistrationType","summary":"Update information about existing event registration type","parameters":[{"$ref":"#/parameters/accountId"},{"name":"typeId","in":"path","description":"Unique event registration type identifier","required":true,"type":"number","format":"integer"},{"name":"event","in":"body","required":true,"schema":{"$ref":"#/definitions/EventRegistrationTypeEditParams"}}],"tags":["Events.EventRegistrationTypes"],"responses":{"200":{"description":"No information returned on successful update"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteEventRegistrationType","description":"Completely delete event registration type from the system.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"typeId","in":"path","description":"Unique event registration type identifier","required":true,"type":"integer"}],"tags":["Events.EventRegistrationTypes"],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/eventregistrations":{"get":{"operationId":"GetEventRegistrationsList","summary":"Event Registrations list","description":"âš  There are 3 parameters, which cannot be used simultaneously. API uses only one parameter of contactId, eventId, $filter or ids exactly in this order. For example if request contains both contactId and eventId, then API uses only contactId to filter event registrations. âš  Request parameter is required\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","description":"contact identifier","required":false,"type":"integer"},{"name":"eventId","in":"query","description":"event identifier","required":false,"type":"integer"},{"name":"$filter","in":"query","required":false,"type":"string","description":"Filters the results of the Events API call so that only those records that match the filter criteria are included. The following filter criterias are supported:\n  - Id, Supported operations: in.\n    example: ?$filter=id in [1,2,3,4â€¦.]\n"},{"name":"includeDetails","in":"query","description":"If false, registration form data is not retrieved","required":false,"type":"boolean","default":true},{"name":"includeWaitlist","in":"query","description":"Defines if waitlist records should be included in result","required":false,"type":"boolean","default":false}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"List of event registrations","schema":{"$ref":"#/definitions/EventRegistrationsResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateEventRegistration","summary":"Creates a new event registration.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"EventRegistration","schema":{"$ref":"#/definitions/EventRegistrationPost"},"in":"body","required":true}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"Event registration created","schema":{"$ref":"#/definitions/EventRegistration"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/eventregistrations/{event_registration_id}":{"get":{"operationId":"GetEventRegistrationDetails","summary":"Event Registration Details","parameters":[{"$ref":"#/parameters/accountId"},{"name":"event_registration_id","in":"path","description":"event registration identifier","required":true,"type":"number","format":"integer"}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"List of Event Registrations","schema":{"$ref":"#/definitions/EventRegistration"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteEventRegistration","summary":"Event registration","parameters":[{"$ref":"#/parameters/accountId"},{"name":"event_registration_id","in":"path","description":"event registration identifier","required":true,"type":"number","format":"integer"}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateEventRegistration","summary":"Update event registration.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"event_registration_id","in":"path","description":"event registration identifier","required":true,"type":"number","format":"integer"},{"name":"EventRegistration","schema":{"$ref":"#/definitions/EventRegistrationPut"},"in":"body","required":true}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"Event registration created","schema":{"$ref":"#/definitions/EventRegistration"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/CheckInEventAttendee":{"post":{"operationId":"CheckInEventAttendee","summary":"Mark event attendee as checked-in (or remove check-in flag).","parameters":[{"$ref":"#/parameters/accountId"},{"name":"CheckInParams","schema":{"$ref":"#/definitions/CheckInParams"},"in":"body","required":true}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"400":{"$ref":"#/responses/badRequest"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/RegisterFromWaitlist":{"post":{"operationId":"RegisterFromWaitlist","summary":"Add waitlisted person as event attendee","parameters":[{"$ref":"#/parameters/accountId"},{"name":"RegisterFromWaitlistParams","schema":{"$ref":"#/definitions/RegisterFromWaitlistParams"},"in":"body","required":true}],"tags":["Events.EventRegistrations"],"responses":{"200":{"description":"Event registration created","schema":{"$ref":"#/definitions/EventRegistration"}},"401":{"$ref":"#/responses/unauthorized"},"400":{"$ref":"#/responses/badRequest"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/invoices":{"get":{"operationId":"GetInvoicesList","summary":"Get list of invoices by criteria.","description":"\nâš  There are 3 parameters, which cannot be used simultaneously. API uses only one parameter of contactId, eventId and eventRegistrationId exactly in this order. For example if request contains both contactId and eventId, then API uses only contactId to filter invoices.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","required":false,"type":"integer","description":"Identifier of contact to whom the invoice is assigned."},{"name":"eventId","in":"query","required":false,"type":"integer","description":"Identifier of event. When specified API returns collection of invoices associated with event registrations for the event."},{"name":"eventRegistrationId","in":"query","required":false,"type":"integer","description":"Identifier of event registration. When specified API returns invoice related to the registration. Usually a single invoice."},{"name":"unpaidOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only unpaid invoices."},{"name":"paidOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only paid invoices."},{"name":"includeVoided","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API also returns voided invoices."},{"name":"idsOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only collection of identifiers instead of collection of invoices."},{"name":"StartDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to invoices created since StartDate."},{"name":"EndDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to invoices created before EndDate."},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"Collection of invoices that match criteria.","schema":{"$ref":"#/definitions/InvoicesResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateInvoice","summary":"Creates a new invoice.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"Invoice","schema":{"$ref":"#/definitions/CreateInvoiceParams"},"in":"body","required":true}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"Created invoice ID","schema":{"type":"integer"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/invoices/{invoiceId}":{"get":{"operationId":"GetInvoiceDetails","summary":"Retrieve information about specific invoice","parameters":[{"$ref":"#/parameters/accountId"},{"name":"invoiceId","in":"path","description":"Unique invoice identifier","required":true,"type":"integer"}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"information about specific invoice","schema":{"$ref":"#/definitions/Invoice"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateInvoice","summary":"Update existing invoice information","parameters":[{"$ref":"#/parameters/accountId"},{"name":"invoiceId","type":"integer","in":"path","required":true},{"name":"Invoice","schema":{"$ref":"#/definitions/UpdateInvoiceParams"},"in":"body","required":true}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"Returns 200 on successful data update"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteInvoice","summary":"Delete existing invoice","parameters":[{"$ref":"#/parameters/accountId"},{"name":"invoiceId","type":"integer","in":"path","required":true}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"Returns 200 on successful invoice deletion"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/GenerateInvoiceForPendingMembership":{"post":{"operationId":"GenerateInvoiceForPendingMembership","summary":"Generate or update invoice for pending membership.","description":"\nAvailability of this action depends on contact's state. In order to prevent failures it is recommended to get contact details with parameter getExtendedMembershipInfo=true and use list of allowed actions from Contact.ExtendedMembershipInfo.AllowedActions. If this action is not allowed but client calls it, then API returns HTTP 400, Bad request.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","description":"Contact ID with pending membership","required":true,"type":"integer"},{"name":"updateIfExists","in":"query","description":"update the invoice items if already exists","required":false,"default":false,"type":"boolean"}],"tags":["Membership.Operations"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"400":{"$ref":"#/responses/badRequest"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/GenerateInvoiceForEventRegistration":{"post":{"operationId":"GenerateInvoiceForEventRegistration","summary":"Generate or update invoice for existing event registration.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"eventRegistrationId","in":"query","description":"Event registration ID with pending membership","required":true,"type":"integer"},{"name":"updateIfExists","in":"query","description":"If set to true and invoice already exists, API will update the invoice items.","required":false,"default":false,"type":"boolean"}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"created or updated invoice","schema":{"$ref":"#/definitions/Invoice"}},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/VoidInvoice":{"post":{"operationId":"VoidInvoice","summary":"Void active invoice.","description":"See https://gethelp.wildapricot.com/en/articles/76#voiding for details on invoice voiding","parameters":[{"$ref":"#/parameters/accountId"},{"name":"invoiceId","in":"query","description":"invoiceId ID to void","required":true,"type":"integer"}],"tags":["Finances.Invoices"],"responses":{"200":{"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/accounts/{accountId}/payments":{"get":{"operationId":"GetPaymentsList","summary":"Get list of payments by criteria.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","required":false,"type":"integer","description":"Identifier of contact who made the payment."},{"name":"eventId","in":"query","required":false,"type":"integer","description":"Identifier of event. When specified API returns collection of payments settled to invoices associated with event registrations for the event."},{"name":"idsOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only collection of identifiers instead of collection of payments."},{"name":"StartDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to payments created since StartDate."},{"name":"EndDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to payments created before EndDate."},{"name":"paimentType","in":"query","required":false,"type":"string","description":"Limits result to payment type."},{"name":"unsettledOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only unsettled payments."},{"name":"ids","in":"query","required":false,"type":"string","description":"You can filter the payments by specifying a set of payment IDs."},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"Collection of payments that match criteria.","schema":{"$ref":"#/definitions/PaymentsResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreatePayment","summary":"Creates a new payment.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"Payment","schema":{"$ref":"#/definitions/CreatePaymentModel"},"in":"body","required":true}],"tags":["Finances.Payments"],"responses":{"200":{"description":"Payment created","schema":{"$ref":"#/definitions/Payment"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{paymentId}":{"get":{"operationId":"GetPaymentDetails","summary":"Retrieve information about specific payment","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","in":"path","description":"Unique payment identifier","required":true,"type":"integer"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"information about specific payment","schema":{"$ref":"#/definitions/Payment"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdatePayment","summary":"Update existing payment information","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","type":"integer","in":"path","required":true},{"name":"Payment","schema":{"$ref":"#/definitions/UpdatePaymentParams"},"in":"body","required":true}],"tags":["Finances.Payments"],"responses":{"200":{"description":"Returns 200 on successful data update"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeletePayment","summary":"Delete existing payment","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","type":"integer","in":"path","required":true}],"tags":["Finances.Payments"],"responses":{"200":{"description":"Returns 200 on successful payment deletion"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{paymentId}/AllocateInvoice":{"post":{"operationId":"AllocateInvoice","summary":"Allocate invoice to specific payment","description":"After this operation invoice will be marked as paid.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","in":"path","description":"Unique payment identifier","required":true,"type":"integer"},{"$ref":"#/parameters/AllocateInvoiceParams"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{paymentId}/AllocateRefundToPayment":{"post":{"operationId":"AllocateRefundToPayment","summary":"Allocate refund to specific payment","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","in":"path","description":"Unique payment identifier","required":true,"type":"integer"},{"$ref":"#/parameters/RefundParam"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{donationId}/AllocateRefundToDonation":{"post":{"operationId":"AllocateRefundToDonation","summary":"Allocate refund to specific donation","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationId","in":"path","description":"Unique donation identifier","required":true,"type":"integer"},{"$ref":"#/parameters/RefundParam"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{paymentId}/UnallocateFromPayment":{"post":{"operationId":"UnallocateFinanceDocumentFromPayment","summary":"Unallocate finance document from specific payment","parameters":[{"$ref":"#/parameters/accountId"},{"name":"paymentId","in":"path","description":"Unique payment identifier","required":true,"type":"integer"},{"$ref":"#/parameters/DocumentParam"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/payments/{donationId}/UnallocateFromDonation":{"post":{"operationId":"UnallocateFinanceDocumentFromDonation","summary":"Unallocate finance document from specific donation","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationId","in":"path","description":"Unique donation identifier","required":true,"type":"integer"},{"$ref":"#/parameters/DocumentParam"}],"tags":["Finances.Payments"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/paymentAllocations":{"get":{"operationId":"GetPaymentAllocationsList","summary":"Get list describing how payments are allocated among invoices.","description":"At least one parameter InvoiceId or PaymentId or RefundId should be specified.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"InvoiceId","in":"query","required":false,"type":"integer","description":"Identifier of invoice."},{"name":"PaymentId","in":"query","required":false,"type":"integer","description":"Identifier of payment."},{"name":"RefundId","in":"query","required":false,"type":"integer","description":"Identifier of refund."}],"tags":["Finances.PaymentAllocations"],"responses":{"200":{"description":"Collection of allocations.","schema":{"$ref":"#/definitions/PaymentAllocation"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/refunds":{"get":{"operationId":"GetRefundsList","summary":"Get list of refunds by criteria.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"contactId","in":"query","required":false,"type":"integer","description":"Identifier of contact to whom the refund was made."},{"name":"eventId","in":"query","required":false,"type":"integer","description":"Identifier of event. When specified API returns collection of refunds settled to invoices associated with event registrations for the event."},{"name":"idsOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only collection of identifiers instead of collection of refunds."},{"name":"StartDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to refunds created since StartDate."},{"name":"EndDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to refunds created before EndDate."},{"name":"unsettledOnly","in":"query","required":false,"type":"boolean","default":false,"description":"When set to true, API returns only unsettled refunds."},{"name":"ids","in":"query","required":false,"type":"string","description":"You can filter the refunds by specifying a set of refund IDs."},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"}],"tags":["Finances.Refunds"],"responses":{"200":{"description":"Collection of refunds that match criteria.","schema":{"$ref":"#/definitions/RefundsResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateRefund","summary":"Creates a new refund.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"Refund","schema":{"$ref":"#/definitions/CreateRefundParams"},"in":"body","required":true}],"tags":["Finances.Refunds"],"responses":{"200":{"description":"Refund created","schema":{"$ref":"#/definitions/Refund"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/refunds/{refundId}":{"get":{"operationId":"GetRefundDetails","summary":"Retrieve information about specific refund","parameters":[{"$ref":"#/parameters/accountId"},{"name":"refundId","in":"path","description":"Unique refund identifier","required":true,"type":"integer"}],"tags":["Finances.Refunds"],"responses":{"200":{"description":"information about specific refund","schema":{"$ref":"#/definitions/Refund"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateRefund","summary":"Update existing refund information","parameters":[{"$ref":"#/parameters/accountId"},{"name":"refundId","type":"integer","in":"path","required":true},{"name":"Refund","schema":{"$ref":"#/definitions/UpdateRefundParams"},"in":"body","required":true}],"tags":["Finances.Refunds"],"responses":{"200":{"description":"Returns 200 on successful data update"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteRefund","summary":"Delete existing refund","parameters":[{"$ref":"#/parameters/accountId"},{"name":"refundId","type":"integer","in":"path","required":true}],"tags":["Finances.Refunds"],"responses":{"200":{"description":"Returns 200 on successful refund deletion"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/tenders":{"get":{"operationId":"GetTendersList","summary":"Get list of tenders.","parameters":[{"$ref":"#/parameters/accountId"}],"tags":["Finances.Tenders"],"responses":{"200":{"description":"Collection of tenders.","schema":{"$ref":"#/definitions/TendersResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"operationId":"CreateTender","summary":"Creates a new tender.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"Tender","schema":{"$ref":"#/definitions/Tender"},"in":"body","required":true}],"tags":["Finances.Tenders"],"responses":{"200":{"description":"Tenderscreated","schema":{"$ref":"#/definitions/Tender"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/tenders/{tenderId}":{"get":{"operationId":"GetTenderDetails","summary":"Retrieve information about specific tender","parameters":[{"$ref":"#/parameters/accountId"},{"name":"tenderId","in":"path","description":"Unique tender identifier","required":true,"type":"integer"}],"tags":["Finances.Tenders"],"responses":{"200":{"description":"information about specific tender","schema":{"$ref":"#/definitions/Tender"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateTender","summary":"Update existing tender information","parameters":[{"$ref":"#/parameters/accountId"},{"name":"tenderId","type":"integer","in":"path","required":true},{"name":"Tender","schema":{"$ref":"#/definitions/Tender"},"in":"body","required":true}],"tags":["Finances.Tenders"],"responses":{"200":{"description":"Returns 200 on successful data update"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteTender","summary":"Delete existing tender","parameters":[{"$ref":"#/parameters/accountId"},{"name":"tenderId","type":"integer","in":"path","required":true}],"tags":["Finances.Tenders"],"responses":{"200":{"description":"Returns 200 on successful tender deletion"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/auditLogItems":{"get":{"operationId":"GetAuditLogItems","summary":"List of Audit log items.","description":"List filter has limitations.\n - if filterObjectType is set then FilterObjectId must be set too.\n - empty filter not allowed (none of filterObjectType, FilterObjectId, StartDate and EndDate are set).\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"filterObjectType","in":"query","required":false,"type":"string","enum":["Undefined","Contact","Event","EventRegistration","Invoice","Payment","Refund","Donation"],"description":"Kind of object for audit log filter"},{"name":"FilterObjectId","in":"query","required":false,"type":"integer","description":"Unique identifyer of type filterObjectType"},{"name":"StartDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to log items created since StartDate."},{"name":"EndDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to log items created before EndDate."},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"}],"tags":["Finances.AuditLog"],"responses":{"200":{"description":"An array of audit log item descriptions","schema":{"$ref":"#/definitions/AuditItemsListResult"}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/auditLogItems/{itemId}":{"get":{"operationId":"GetAuditLogItem","summary":"Single audit log item.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"itemId","in":"path","description":"Audit log item identifier","required":true,"type":"integer"}],"tags":["Finances.AuditLog"],"responses":{"200":{"description":"Audit log item description","schema":{"$ref":"#/definitions/AuditLogItem"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/donationfields":{"get":{"summary":"List of custom fields related to donations.","description":"\nThis list contains a list of fields of 2 different types.\n - System fields are defined by Wild Apricot system and could not be removed.\n - Custom fields could be defined by administrator to store some data specific to your account.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"showSectionDividers","in":"query","type":"boolean","required":false,"default":false,"description":"Default value is false. Specifies whether section dividers also should be presented in the response."}],"tags":["Donation.CustomFields"],"responses":{"200":{"description":"An array of donation field descriptions","schema":{"type":"array","items":{"$ref":"#/definitions/EntityFieldDescription"}}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}},"post":{"summary":"Creates a new donation field","parameters":[{"$ref":"#/parameters/accountId"},{"name":"DonationField","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateEntityFieldParams"}}],"tags":["Donation.CustomFields"],"responses":{"200":{"description":"created field identifier","schema":{"type":"integer"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/donationfields/{donationFieldId}":{"put":{"summary":"Updates an existing donation field","description":"Limitations: field type can not be changed","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationFieldId","in":"path","description":"donation field identifier","required":true,"type":"integer"},{"name":"DonationField","in":"body","required":true,"schema":{"$ref":"#/definitions/EditEntityFieldParams"}}],"tags":["Donation.CustomFields"],"responses":{"200":{"description":"return true if field was updated successfully","schema":{"type":"boolean"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"description":"removes existing field by id","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationFieldId","in":"path","description":"donation field identifier","required":true,"type":"integer"}],"tags":["Donation.CustomFields"],"responses":{"200":{"description":"return true if field was removed successfully","schema":{"type":"boolean"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/donations":{"get":{"operationId":"GetDonationsList","summary":"Get list of donations by criteria.","parameters":[{"$ref":"#/parameters/accountId"},{"name":"StartDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to donations created since StartDate."},{"name":"EndDate","in":"query","required":false,"type":"string","format":"date","description":"Limits result to donations created before EndDate."},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"}],"tags":["Finances.Donations"],"responses":{"200":{"description":"Collection of donations that match criteria.","schema":{"$ref":"#/definitions/DonationListResponse"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/donations/{donationId}":{"get":{"operationId":"GetDonationDetails","summary":"Retrieve information about specific donation","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationId","in":"path","description":"Unique donation identifier","required":true,"type":"integer"}],"tags":["Finances.Donations"],"responses":{"200":{"description":"information about specific donation","schema":{"$ref":"#/definitions/Donation"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"put":{"operationId":"UpdateDonation","summary":"Update existing donation information","parameters":[{"$ref":"#/parameters/accountId"},{"name":"donationId","type":"integer","in":"path","required":true},{"name":"Donation","schema":{"$ref":"#/definitions/Donation"},"in":"body","required":true}],"tags":["Finances.Donations"],"responses":{"200":{"description":"Returns 200 on successful data update"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/SentEmails":{"get":{"operationId":"GetSentEmailsLog","description":"Sent emails","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"},{"name":"idsOnly","in":"query","description":"To get only a list of email identifiers as a result of search request.\n","required":false,"type":"boolean"},{"name":"$filter","in":"query","description":"Allowed filter fields (**allowed operations**):\n  - *SentDate* (**ge**, **le**),\n  - *SenderId* (**eq**) - ID of sender,\n  - *OriginType* (**eq**) - see SentEmail.Origin.OriginType,\n  - *SendingType* (**eq**) -SentEmail.SendingType (Automatic or Manual)\n\n  only AND boolean operator supported\n  - ...&$filter=SentDate ge 2018-05-01 - will return records sent on or after May 1st, 2018","required":false,"type":"string"}],"tags":["Emailing.SentEmails"],"responses":{"200":{"description":"Contains a list of sent emails or list of identifiers, depending on idsOnly parameter value.","schema":{"$ref":"#/definitions/EmailLog"}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/SentEmails/{emailId}":{"get":{"operationId":"GetSentEmailDetails","description":"Sent email details","parameters":[{"$ref":"#/parameters/accountId"},{"name":"emailId","in":"path","description":"Email unique Id","required":true,"type":"integer"}],"tags":["Emailing.SentEmails"],"responses":{"200":{"description":"Email details","schema":{"$ref":"#/definitions/EmailLogRecord"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/EmailDrafts":{"get":{"operationId":"GetEmailDraftsList","description":"Email drafts","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"},{"name":"idsOnly","in":"query","description":"Should be set to true in order to get only a list of email identifiers as a result of search request.\n","required":false,"type":"boolean"},{"name":"$filter","in":"query","description":"Allowed filter fields (**allowed operations**):\n  - *LastChangedDate* (**ge**, **le**),\n  - *CreatorId* (**eq**),\n  - *IsScheduled* (**eq**),\n  - *EventId* (**eq**)\n\n  only AND boolean operator supported\n  - ...&$filter=LastChangedDate ge 2018-05-01 - will return records updated on or after May 1st, 2018\n  - ...&$filter=LastChangedDate ge 2010-05-01 AND CreatorId eq 123456 - will return records updated on or after May 1st, 2010 and create by a user with Contact ID 123456      \n  - ...&$filter=IsScheduled eq true - will return scheduled drafts only","required":false,"type":"string"}],"tags":["Emailing.Drafts"],"responses":{"200":{"description":"A wrapper object, which contains a list of sent emails. also contains EmailDraftIdentifiersResult if idsOnly parameter is true","schema":{"$ref":"#/definitions/EmailDraftListResult"}},"401":{"$ref":"#/responses/unauthorized"},"428":{"$ref":"#/responses/termsOfUseRequired"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/EmailDrafts/{draftId}":{"get":{"operationId":"GetEmailDraft","description":"Email draft details","parameters":[{"$ref":"#/parameters/accountId"},{"name":"draftId","in":"path","description":"Email draft Id","required":true,"type":"integer"}],"tags":["Emailing.Drafts"],"responses":{"200":{"description":"Email draft","schema":{"$ref":"#/definitions/EmailDraft"}},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}},"delete":{"operationId":"DeleteEmailDraft","description":"Delete email draft","parameters":[{"$ref":"#/parameters/accountId"},{"name":"draftId","in":"path","description":"Email draft Id","required":true,"type":"integer"}],"tags":["Emailing.Drafts"],"responses":{"200":{"description":"OK"},"401":{"$ref":"#/responses/unauthorized"},"404":{"$ref":"#/responses/notFound"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/SentEmailRecipients":{"get":{"operationId":"SentEmailRecipientList","description":"Sent email recipients","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/pagingSkip"},{"$ref":"#/parameters/pagingTop"},{"name":"emailId","in":"query","description":"sent email Id (from email Log)","required":true,"type":"integer"},{"name":"LoadLinks","in":"query","description":"load clicked links information","required":false,"type":"boolean"},{"name":"Delivered","in":"query","description":"load delivered or not delivered only","required":false,"type":"boolean"},{"name":"Opened","in":"query","description":"load opened or not opened only","required":false,"type":"boolean"}],"tags":["Emailing.SentEmailRecipients"],"responses":{"200":{"description":"Contains a list of sent email recipients.","schema":{"$ref":"#/definitions/SentEmailRecipientsRecords"}},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/rpc/{accountId}/email/SetEmailDraftSchedule":{"post":{"operationId":"SetEmailDraftSchedule","summary":"Pause or resume scheduled draft.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/EmailScheduleParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/GetEmailDraftPreview":{"post":{"operationId":"GetEmailDraftPreview","summary":"Get preview version of email.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/SendDraftParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"description":"email preview subject and body","schema":{"$ref":"#/definitions/EmailDraftPreview"}},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/SendEmailDraft":{"post":{"operationId":"SendEmailDraft","summary":"Send draft.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/SendDraftParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"description":"created sent email id","schema":{"type":"integer"}},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/SendEmail":{"post":{"operationId":"SendEmail","summary":"Send draft.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/SendEmailParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"description":"created sent email id","schema":{"type":"integer"}},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/CountUniqueAddressesForEmailRecipients":{"post":{"operationId":"GetUniqueEmailRecipientsCount","summary":"Get count of real email recipients (unique addresses).","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/EmailRecipientsParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"schema":{"type":"integer"},"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/CountUniqueAddressesForEmailDraft":{"post":{"operationId":"GetUniqueEmailRecipientsCountForDraft","summary":"Get count of real email recipients (unique addresses).","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/emailDraftId"}],"tags":["Emailing.Operations"],"responses":{"200":{"schema":{"type":"integer"},"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/GetUniqueAddressesForEmailRecipients":{"post":{"operationId":"GetUniqueAddressesForEmailRecipients","summary":"Get unique addresses of real email recipients.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/EmailRecipientsParams"}],"tags":["Emailing.Operations"],"responses":{"200":{"schema":{"$ref":"#/definitions/EmailRecipients"},"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/rpc/{accountId}/email/GetUniqueAddressesForEmailDraft":{"post":{"operationId":"GetUniqueAddressesForEmailDraft","summary":"Get unique addresses of real email recipients.","parameters":[{"$ref":"#/parameters/accountId"},{"$ref":"#/parameters/emailDraftId"}],"tags":["Emailing.Operations"],"responses":{"200":{"schema":{"$ref":"#/definitions/EmailRecipients"},"description":"OK"},"400":{"description":"Unexpected error","schema":{"$ref":"#/definitions/Error"}}}}},"/accounts/{accountId}/store/orders/{orderNumber}":{"get":{"tags":["OnlineStore.Orders"],"operationId":"OnlineStoreOrders_GetByNumber","parameters":[{"$ref":"#/parameters/accountId"},{"type":"string","name":"orderNumber","description":"Order number","required":true,"in":"path","x-nullable":false}],"responses":{"200":{"$ref":"#/definitions/Order"},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/store/orders":{"get":{"tags":["OnlineStore.Orders"],"operationId":"OnlineStoreOrders_GetList","parameters":[{"$ref":"#/parameters/accountId"},{"type":"integer","name":"$skip","description":"'Specifies the number of records to skip (not include in a result set). For example if you expect about 300 records in result set and want to get them in small portions, you could make do so with 3 calls:'\n- ...&$top=100 - will return records from 0 to 99 - ...?$skip=100&top=100' - will return records from 100 to 199 - ...?$skip=200' - will return records from 199 to the end\n","in":"query","format":"int32","x-nullable":true},{"type":"integer","name":"$top","description":"this parameter specifies the maximum number of entries to be returned","in":"query","format":"int32","x-nullable":true},{"type":"string","name":"status","description":"Order status","in":"query","x-schema":{"$ref":"#/definitions/OrderStatus"},"x-nullable":true},{"type":"string","name":"paymentStatus","description":"Invoice status","in":"query","x-schema":{"$ref":"#/definitions/PaymentStatus"},"x-nullable":true},{"type":"string","name":"From","description":"Start date of the range","in":"query","format":"date-time","x-nullable":true},{"type":"string","name":"To","description":"End of the range","in":"query","format":"date-time","x-nullable":true}],"responses":{"200":{"x-nullable":false,"description":"","schema":{"type":"array","items":{"$ref":"#/definitions/Order"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/store/orders/{orderNumber}/status":{"put":{"tags":["OnlineStore.Orders.Operations"],"operationId":"OnlineStoreOrdersOperations_SetOrderStatus","consumes":["application/json","text/json","application/*+json"],"parameters":[{"$ref":"#/parameters/accountId"},{"type":"string","name":"orderNumber","in":"path","required":true},{"name":"status","in":"body","required":true,"schema":{"$ref":"#/definitions/OrderFulfilment"},"x-nullable":false}],"responses":{"200":{"x-nullable":false,"description":"","schema":{"$ref":"#/definitions/OrderSetStatusResult"}}}}},"/accounts/{accountId}/store/products/{id}":{"get":{"tags":["OnlineStore.Products"],"operationId":"OnlineStoreProducts_GetById","parameters":[{"$ref":"#/parameters/accountId"},{"type":"integer","name":"id","in":"path","required":true,"format":"int32","x-nullable":false}],"responses":{"200":{"x-nullable":false,"description":"","schema":{"$ref":"#/definitions/Product"}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/store/products":{"get":{"tags":["OnlineStore.Products"],"operationId":"OnlineStoreProducts_GetList","consumes":["application/json","text/json","application/*+json"],"parameters":[{"$ref":"#/parameters/accountId"},{"type":"integer","name":"$skip","in":"query","format":"int32","x-nullable":true},{"type":"integer","name":"$top","in":"query","format":"int32","x-nullable":true}],"responses":{"200":{"x-nullable":false,"description":"","schema":{"type":"array","items":{"$ref":"#/definitions/Product"}}},"400":{"$ref":"#/responses/badRequest"},"401":{"$ref":"#/responses/unauthorized"},"429":{"$ref":"#/responses/tooManyRequests"}}}},"/accounts/{accountId}/features/{featureId}":{"get":{"operationId":"GetFeatureAvailability","summary":"Get information about feature availability for specific account.","description":"\nThere is no way to get full list of features, so api client should know feature identifier. For any invalid featureId API will return {\"Allowed\":true}.\nThis method is reserved **_for internal use only_** and not expected to be used by third party client applications.\n","parameters":[{"$ref":"#/parameters/accountId"},{"name":"featureId","in":"path","description":"feature identifier","required":true,"type":"integer"}],"tags":["Internal.Features"],"responses":{"200":{"description":"Feature availability status.","schema":{"$ref":"#/definitions/Feature"}}}}}},"responses":{"badRequest":{"description":"On invalid parameters. See error details in response body.","schema":{"$ref":"#/definitions/Error"}},"notFound":{"description":"Requested item not found."},"termsOfUseRequired":{"description":"Current user should accept terms of use before using API. It can be done in web interface, or by making a POST request to /rpc/{accountId}/acceptTermsOfUse"},"tooManyRequests":{"description":"Too many requests from same account. Wait for a minute and try again."},"unauthorized":{"description":"oAuth token was not provided, invalid or does not provide access to requested URL."}},"definitions":{"Account":{"type":"object","description":"Information about Wild Apricot account","required":["Id","Name","PrimaryDomainName","ContactLimitInfo","Currency","Localization","SquareRegisterSettings"],"properties":{"Id":{"type":"integer","description":"Account unique identifier."},"Name":{"type":"string","description":"The account name. This corresponds to the organization name as it appears on the Organization details screen."},"Url":{"$ref":"#/definitions/ResourceUrl"},"PrimaryDomainName":{"type":"string","description":"The primary domain name for the account."},"IsFreeAccount":{"type":"boolean"},"Resources":{"type":"array","items":{"$ref":"#/definitions/Resource"},"description":"Collection of account-related resources."},"ContactLimitInfo":{"$ref":"#/definitions/ContactLimitInfo"},"TimeZone":{"$ref":"#/definitions/TimeZone"},"Currency":{"$ref":"#/definitions/Currency"},"Localization":{"$ref":"#/definitions/Localization"},"SquareRegisterSettings":{"$ref":"#/definitions/SquareRegisterSettings"},"PaymentSettings":{"$ref":"#/definitions/PaymentSettings"},"BillingPlan":{"$ref":"#/definitions/BillingPlan"}}},"BillingPlan":{"type":"object","description":"Current account billing plan.","properties":{"Name":{"type":"string","description":"Billing plan name"},"Price":{"type":"number","description":"Monthly price"}}},"ContactLimitInfo":{"type":"object","description":"Details about limits on the number of contacts.","properties":{"CurrentContactsCount":{"type":"integer","description":"Number of contacts currently in database (archived excluded)"},"BillingPlanContactsLimit":{"type":"integer","description":"Maximum number of contacts allowed by billing plan."}}},"Currency":{"type":"object","properties":{"Code":{"type":"string","description":"Currency code according to ISO4217"},"Name":{"type":"string","description":"Human-readable currency name"},"Symbol":{"type":"string","description":"Currency symbol like $ or â‚¬"}}},"Feature":{"type":"object","title":"Feature","description":"Information about specific feature availability","properties":{"Id":{"type":"string","description":"Feature identifier"},"Allowed":{"type":"boolean","description":"Indicates whether the feature is allowed"}}},"Localization":{"type":"object","properties":{"DateFormat":{"type":"string","description":"Date format like \"d MMM yyyy\""},"TimeFormat":{"type":"string","description":"Time format like \"h:mm tt\""}}},"PaymentSettings":{"type":"object","properties":{"GeneralPaymentInstructions":{"type":"string","description":"General payment instructions (shown on the Invoices & Payments page and Manual invoices)"},"EventPaymentInstructions":{"type":"string","description":"For event registrations (can be changed for each event)"},"MembershipPaymentInstructions":{"type":"string","description":"For membership applications, renewals and level changes"}}},"SquareRegisterSettings":{"type":"object","required":["IntegrationEnabled"],"description":"Settings for Square Register integration, used for mobile app","properties":{"IntegrationEnabled":{"type":"boolean","description":"Is integration enabled in admin UI."},"ClientId":{"type":"string","description":"(optional) Square client Id"}}},"TimeZone":{"type":"object","description":"Details about account time zone","properties":{"ZoneId":{"type":"string","description":"Time zone id, i.e. \"Arabic Standard Time\""},"Name":{"type":"string","description":"Time zone name, i.e. \"(UTC+03:00) Baghdad\""},"UtcOffset":{"type":"integer","description":"Offcet from UTC Time in minutes, i.e. \"180\""}}},"CreateEntityFieldParams":{"allOf":[{"$ref":"#/definitions/EntityFieldDescription"},{"type":"object","required":["FieldType"],"properties":{"FieldType":{"$ref":"#/definitions/CustomFieldType"}}}]},"EditEntityFieldParams":{"allOf":[{"$ref":"#/definitions/EntityFieldDescription"},{"type":"object","required":["FieldType"],"properties":{"FieldType":{"$ref":"#/definitions/CustomFieldType"}}}]},"EntityFieldDescription":{"type":"object","required":["FieldName","Description","AdminOnly"],"properties":{"FieldName":{"type":"string","description":"Field name title, could be displayed in user interface. Field name could be changed by account administrator."},"SystemCode":{"type":"string","description":"System-defined code associated with field. It does not change even if FieldName is edited in admin backend."},"DisplayType":{"type":"string","description":"Optional hint, which tells how to display and edit field. It appears for String and Choice fields."},"IsSystem":{"type":"boolean","description":"Field is system-defined and could not be deleted. However, field name could be changed by account administrator."},"Description":{"type":"string","description":"System-defined description of the field. Empty for custom fields."},"FieldInstructions":{"type":"string","description":"Admin-defined comment for the field. Shown as a tip when members or visitors fill in forms."},"AllowedValues":{"type":"array","description":"If field value is limited to set of predefined values, this contains list of allowed values. Normally, AllowedValues appear for MultipleChoice and Choice fields.","items":{"$ref":"#/definitions/OptionsListItem"}},"Order":{"type":"integer","description":"Sorting order to display the field in UI"},"RulesAndTermsInfo":{"$ref":"#/definitions/RulesAndTermsInfo"}}},"EntityFieldDescriptionWithExtraCharge":{"allOf":[{"$ref":"#/definitions/EditEntityFieldParams"},{"type":"object","required":["FieldType"],"properties":{"ExtraCharge":{"$ref":"#/definitions/ExtraCharge"}}}]},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Error code, like Validation / Search / ..."},"message":{"type":"string","description":"An explanation of why this error occured"},"details":{"type":"object","description":"More information about the error. Data structure is specific for each kind of error."}}},"FieldValue":{"type":"object","properties":{"FieldName":{"type":"string","description":"Field title. Custom field names are defined by account adinistrator. System field names are predefined by Wild Apricot system."},"SystemCode":{"type":"string","description":"The system code is a unique field identifier that can be used instead of the field name to identify the field. While field name could be changed by administrators, system codes are defined by the system and cannot be changed."},"Value":{"type":"object","description":"Field value could be an integer / string / date in ISO8601 format / boolean / an object consisting of Id and Label or array of such objects. The content format depends on custom field description."}}},"LinkedResource":{"type":"object","properties":{"Id":{"type":"integer","description":"unique item identifier"},"Url":{"type":"string","description":"API url to get item details"}}},"LinkedResourceWithName":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"type":"object","properties":{"Name":{"type":"string","description":"Resource name"}}}]},"Resource":{"type":"object","required":["Name","Url","AllowedOperations"],"properties":{"Url":{"$ref":"#/definitions/ResourceUrl"},"Name":{"type":"string","description":"Name of resource"},"Description":{"type":"string","description":"Text description of the resource"},"AllowedOperations":{"type":"array","items":{"type":"string"},"description":"Collection of allowed operations for this resource. Possible values are\nGET - Resource can be requested\nPOST - Resource can be created\nPUT - Resource can be updated\nDELETE - Resource can be deleted\n"}}},"ResourceUrl":{"type":"string","description":"Permanent resource URL in API."},"AttachmentData":{"type":"object","properties":{"Name":{"type":"string","description":"attachment name"},"MimeType":{"type":"string","description":"http ContentType (MIME type)"},"Data":{"type":"object","description":"uploading file data"}}},"AttachmentDataList":{"description":"list of uploading files","type":"array","items":{"$ref":"#/definitions/AttachmentData"}},"Bundle":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique bundle identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"Email":{"type":"string","description":"Email of bundle administrator."},"ParticipantsCount":{"type":"integer","description":"The number of members in the bundle."},"Administrator":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to bundle administrator."}]},"MembershipLevel":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to membership level related to this bundle."}]},"SpacesLeft":{"type":"integer","description":"If bundle size is limited, then this field indicates number of vacant spaces left in the bundle."},"Members":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Collection of links to members of the bundle."}}},"Contact":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique contact identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"FirstName":{"type":"string","description":"Shortcut for custom field value with system code 'FirstName'"},"LastName":{"type":"string","description":"Shortcut for custom field value with system code 'LastName'"},"Organization":{"type":"string","description":"Shortcut for custom field value with system code 'Organization'"},"Email":{"type":"string","description":"Contact primary email, shortcut for custom field value with system code 'Email'. Should be unique in account."},"DisplayName":{"type":"string","description":"Combination of names or organization or email. Value depends on presence of values. It could be used to display contact record on lists."},"ProfileLastUpdated":{"type":"string","format":"date","description":"Timestamp of last contact details modification. Complies with ISO8601 format. The date and time that common fields, membership fields, or member group participation were last updated for the contact."},"MembershipLevel":{"allOf":[{"$ref":"#/definitions/LinkedResourceWithName"},{"description":"Information about current membership level assigned to the contact. If the contact is not a member, then the MembershipLevel field is not included in the results."}]},"MembershipEnabled":{"type":"boolean","description":"Indicates whether the contact is a member. A value of false indicates that the contact is a not a member or is a suspended member."},"Status":{"type":"string","enum":["Active","Lapsed","PendingNew","PendingRenewal","PendingUpgrade"],"description":"The status of the contact's membership. The status is only included in the results if the contact is a member."},"IsAccountAdministrator":{"type":"boolean","description":"Indicates if the contact is an account administrator."},"TermsOfUseAccepted":{"type":"boolean","description":"Indicates if the contact already accepted Wild Apricot's terms of use."},"FieldValues":{"type":"array","description":"For each custom field you have added to your Wild Apricot database, the name of the field, its system code, and its value for this contact are returned. The system code is a unique field identifier that can be used instead of the field name to identify the field. As well, a number of system fields are returned. If a custom field is restricted to certain access levels, then CustomAccessLevel indicates the level to which the field is restricted. Possible values are AdminOnly, Member, and Public.","items":{"$ref":"#/definitions/ContactFieldValue"}}}},"contactExtendedMembershipInfo":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique contact identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"FirstName":{"type":"string","description":"Shortcut for custom field value with system code 'FirstName'"},"LastName":{"type":"string","description":"Shortcut for custom field value with system code 'LastName'"},"Organization":{"type":"string","description":"Shortcut for custom field value with system code 'Organization'"},"Email":{"type":"string","description":"Contact primary email, shortcut for custom field value with system code 'Email'. Should be unique in account."},"DisplayName":{"type":"string","description":"Combination of names or organization or email. Value depends on presence of values. It could be used to display contact record on lists."},"ProfileLastUpdated":{"type":"string","format":"date","description":"Timestamp of last contact details modification. Complies with ISO8601 format. The date and time that common fields, membership fields, or member group participation were last updated for the contact."},"MembershipLevel":{"allOf":[{"$ref":"#/definitions/LinkedResourceWithName"},{"description":"Information about current membership level assigned to the contact. If the contact is not a member, then the MembershipLevel field is not included in the results."}]},"MembershipEnabled":{"type":"boolean","description":"Indicates whether the contact is a member. A value of false indicates that the contact is a not a member or is a suspended member."},"Status":{"type":"string","enum":["Active","Lapsed","PendingNew","PendingRenewal","PendingUpgrade"],"description":"The status of the contact's membership. The status is only included in the results if the contact is a member."},"ExtendedMembershipInfo":{"$ref":"#/definitions/ExtendedMembershipInfo"},"IsAccountAdministrator":{"type":"boolean","description":"Indicates if the contact is an account administrator."},"TermsOfUseAccepted":{"type":"boolean","description":"Indicates if the contact already accepted Wild Apricot's terms of use."},"FieldValues":{"type":"array","description":"For each custom field you have added to your Wild Apricot database, the name of the field, its system code, and its value for this contact are returned. The system code is a unique field identifier that can be used instead of the field name to identify the field. As well, a number of system fields are returned. If a custom field is restricted to certain access levels, then CustomAccessLevel indicates the level to which the field is restricted. Possible values are AdminOnly, Member, and Public.","items":{"$ref":"#/definitions/ContactFieldValue"}}}},"ContactFieldAccessLevel":{"type":"string","enum":["Public","Members","Nobody"],"description":"\nIndicates who is allowed to view the field value. - **Public** - value is visible to anyone who has access to members directory - **Members** - value is visible only to members - **Nobody* - value is visible only to account administrators\n"},"ContactFieldDescription":{"allOf":[{"$ref":"#/definitions/EntityFieldDescriptionWithExtraCharge"},{"type":"object"},{"required":["Id","Type","Access","AdminOnly","MemberOnly"]},{"properties":{"Id":{"type":"integer","description":"Unique field identifier."},"Access":{"$ref":"#/definitions/ContactFieldAccessLevel"},"AdminOnly":{"type":"boolean","description":"Indicates that the field is accessible only by administrators."},"ExistsInLevels":{"type":"array","description":"If field is defined for specific levels only, this contains list of membership levels.","items":{"$ref":"#/definitions/LinkedResource"}},"MemberAccess":{"$ref":"#/definitions/MemberFieldAccess"},"MemberOnly":{"type":"boolean","description":"Indicates whether the field is a membership field."},"IsBuiltIn":{"type":"boolean","description":"The field is a built-in system field, it cannot be edited or deleted."},"SupportSearch":{"type":"boolean","description":"Indicates that this field can be used in $filter expression in contact search."},"IsEditable":{"type":"boolean","description":"Indicates that the field's value can be changed with create/update requests. Otherwise value canâ€™t be edited through API. If non-editable field value is provided in create/update contact request, the value is ignored by API."},"RulesAndTermsInfo":{"$ref":"#/definitions/RulesAndTermsInfo"},"RenewalPolicy":{"$ref":"#/definitions/RenewalPolicy"},"ProrateInApplication":{"type":"boolean","description":"If the field has associated cost, this indicates if the cost should be prorated over a partial period of time."},"FieldType":{"$ref":"#/definitions/CustomFieldType"}}}]},"ContactFieldValue":{"allOf":[{"$ref":"#/definitions/FieldValue"},{"type":"object","properties":{"CustomAccessLevel":{"$ref":"#/definitions/ContactFieldAccessLevel"}}}]},"ContactIdsResponse":{"type":"object","properties":{"ContactIdentifiers":{"type":"array","items":{"type":"integer"},"description":"List of contact identifiers that match request criteria. The field appears only if idsOnly parameter was passed in request."}}},"ContactsAsyncResponse":{"type":"object","properties":{"ResultId":{"type":"string","description":"Unique result identifier."},"ResultUrl":{"type":"string","description":"URL to check async result availability. We expect that client application will check this URL with some small delay (every 5 sec) until API returns a list of contacts or ProcessingState==Failed."},"Requested":{"type":"string","format":"datetime","description":"Date and time when the request was queued for processing."},"Processed":{"type":"string","format":"datetime","description":"Date and time when the request was processed."},"ProcessingState":{"type":"string","enum":["Waiting","Processing","Complete","Failed"],"description":"Asynchronous request state. It starts from Waiting, then server process it. Request may end in one of final states: Complete or Failed."},"InitialQuery":{"type":"object","properties":{"ObjectType":{"type":"string","description":"Object type which was requested. In this case it is always Contact."},"FilterExpression":{"type":"string","description":"Value of $filter parameter passed into API."},"SelectExpression":{"type":"string","description":"Value of $select parameter passed into API."},"ReturnIds":{"type":"boolean","description":"Indicates if client requested only a list of identifiers, instead of full list of contacts."}}},"ErrorDetails":{"type":"string","description":"In case of error, provides description of error occured."}}},"ContactsCountResponse":{"type":"object","properties":{"Count":{"type":"integer","description":"Number of contacts that match request criteria. This field appears only if $count parameter was passed in request."}}},"ContactsListResponse":{"type":"object","properties":{"Contacts":{"type":"array","items":{"$ref":"#/definitions/Contact"},"description":"List of contacts that match request criteria."}}},"ContactsMe":{"type":"object","properties":{"Id":{"type":"integer","description":"Contact unique identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"DisplayName":{"type":"string","description":"Combination of names or organization or email. Value depends on presence of values. It could be used to display contact record on lists."},"FirstName":{"type":"string","description":"Shortcut for custom field value with system code 'FirstName'"},"LastName":{"type":"string","description":"Shortcut for custom field value with system code 'LastName'"},"Email":{"type":"string","description":"Contact primary email, shortcut for custom field value with system code 'Email'. Should be unique in account."},"Organization":{"type":"string","description":"Shortcut for custom field value with system code 'Organization'"},"Status":{"type":"string","enum":["Active","Lapsed","PendingNew","PendingRenewal","PendingUpgrade"],"description":"The status of the contact's membership. The status is only included in the results if the contact is a member."},"MembershipLevel":{"allOf":[{"$ref":"#/definitions/LinkedResourceWithName"},{"description":"Information about current membership level assigned to the contact. If the contact is not a member, then the MembershipLevel field is not included in the results."}]},"IsAccountAdministrator":{"type":"boolean","description":"Indicates if the contact is an account administrator."},"TermsOfUseAccepted":{"type":"boolean","description":"Indicates if the contact already accepted Wild Apricot's terms of use."}}},"ContactsResponse":{"allOf":[{"$ref":"#/definitions/ContactsAsyncResponse"},{"$ref":"#/definitions/ContactIdsResponse"},{"$ref":"#/definitions/ContactsCountResponse"},{"$ref":"#/definitions/ContactsListResponse"}]},"CreateContactFieldParams":{"allOf":[{"$ref":"#/definitions/EditContactFieldParams"},{"type":"object","required":["FieldType"],"properties":{"FieldType":{"type":"string","enum":["Text","MultilineText","MultipleChoice","MultipleChoiceWithExtraCharge","RadioButtons","RadioButtonsWithExtraCharge","Dropdown","Picture","RulesAndTerms","Date","ExtraChargeCalculation","SectionDivider"],"description":"Field data type."},"MemberOnly":{"type":"boolean","description":"Indicates whether a field is available only to members."}}}]},"CreateContactParams":{"type":"object","properties":{"FirstName":{"type":"string","description":"Shortcut for custom field with system code 'FirstName'"},"LastName":{"type":"string","description":"Shortcut for custom field with system code 'LastName'"},"Organization":{"type":"string","description":"Shortcut for custom field with system code 'Organization'"},"Email":{"type":"string","description":"Contact primary email, shortcut for custom field with system code 'Email'. Should be unique in account."},"MembershipLevel":{"type":"object","properties":{"Id":{"type":"integer","description":"ID of membership level to assign."}}},"MembershipEnabled":{"type":"boolean","description":"Indicates whether the contact has membership. False means that the contact is a not a member or the membership is suspended."},"Status":{"type":"string","enum":["Active","Lapsed","PendingNew","PendingRenewal","PendingUpgrade"],"description":"The status of the membership. The status is only included in the results if the contact is a member."},"Password":{"type":"string","description":"New password to assign. If you don't want to change password, just skip this field."},"FieldValues":{"type":"array","description":"An array of field values to assign to contact.","items":{"$ref":"#/definitions/FieldValue"}},"RecreateInvoice":{"type":"boolean","description":"Indicates whether to create invoice is required. Default value is **TRUE**"}}},"CustomFieldType":{"type":"string","enum":["String","DateTime","Boolean","Choice","MultipleChoice","Number","SectionDivider","CalculatedExtraCharge","Picture"],"description":"Custom field data type."},"EditContactFieldParams":{"type":"object","required":["FieldType","FieldName"],"properties":{"FieldName":{"type":"string","description":"New field name. Must be unique."},"IsRequired":{"type":"boolean","description":"Indicates whether a field has to be filled before the form is submitted. This limitation affects member-facing functionality only, admin always can submit form even without required fields."},"AdminOnly":{"type":"boolean","default":false,"description":"Indicates that the field is accessible only by administrators."},"Access":{"$ref":"#/definitions/ContactFieldAccessLevel"},"FieldInstructions":{"type":"string","description":"Shown as a tip when members or visitors fill in forms. Max length is 250 characters."},"Order":{"type":"integer","description":"Sorting order to display the field in UI."},"AllowedValues":{"type":"array","description":"List of allowed values for this field. This data is used for Choice and MultipleChoice fields, otherwise it will be ignored.","items":{"$ref":"#/definitions/OptionsListItem"}},"RulesAndTermsInfo":{"$ref":"#/definitions/RulesAndTermsInfo"},"ExistsInLevels":{"type":"array","description":"Collection of membership levels where the field exists. If empty collection provided, it means the field would be available for all levels.","items":{"type":"object","properties":{"Id":{"type":"integer","description":"Id of membership level"}}}},"MemberAccess":{"$ref":"#/definitions/MemberFieldAccess"},"RenewalPolicy":{"$ref":"#/definitions/RenewalPolicy"},"ProrateInApplication":{"type":"boolean","description":"Whether the cost should be prorated over a partial period of time. Used only by fields with an associated cost."},"ExtraCharge":{"$ref":"#/definitions/ExtraCharge"}}},"ExtendedMembershipInfo":{"type":"object","description":"Readonly object ","properties":{"PendingMembershipOrderStatusType":{"type":"string","enum":["Invisible","PendingNoCorrespondingInvoice","PendingNotPaidYet","InvoicePaidManualApprovalRequired","FreeOrderManualApprovalRequired","InvoiceNotPaidButOperationApproved","MultipleInvoiceNotPaidMemberActivated","MultipleInvoiceNotPaidMemberPending"]},"PendingMembershipInvoice":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to unpaid invoice, related to pending membership application."}]},"AllowedActions":{"type":"array","description":"List of allowed actions related to contact. Each action is described with title and URL, which should be used in POST request.","items":{"$ref":"#/definitions/LinkedResourceWithName"}}}},"ExtraCharge":{"type":"object","title":"ExtraChargeOptions","description":"This property appears for CalculatedExtraCharge fields only.","required":["MultiplierType","Multiplier"],"properties":{"MultiplierType":{"type":"string","description":"Indicates the type of multiplier field.\n  ItemPrice multiplier specifies a price for each requested item.\n  Percentage multiplier specifies a percent of field value to use as extra charge.\n","enum":["ItemPrice","Percentage"]},"Multiplier":{"type":"number","format":"decimal","description":"value of multiplier for extra charge calculation"},"MinAmount":{"type":"integer","description":"Minimal amount of items to request (minimal field value). For ItemPrice multiplier type only."},"MaxAmount":{"type":"integer","description":"Maximum amount of items to request (maximum field value). For ItemPrice multiplier type only."},"MinCharge":{"type":"number","format":"decimal","description":"Minimal extra charge. (minimal field value). For Percentage multiplier type only."},"MaxCharge":{"type":"number","format":"decimal","description":"Maximum extra charge. (maximum field value). For Percentage multiplier type only."}}},"FileInfo":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique attachment identifier"},"Name":{"type":"string","description":"attachment name"},"ContentType":{"type":"string","description":"http ContentType (MIME type)"},"Size":{"type":"integer","description":"File size"},"CreatedDate":{"type":"string","format":"datetime","description":"Date and time when the file has been uploaded."}}},"MemberFieldAccess":{"type":"string","title":"MemberAccess","enum":["EditInProfileAndInApplicationForm","EditInProfile","EditInApplicationForm","ViewOnly","Nobody"],"description":"Controls whether the member is allowed to view or modify this field. Only for member fields."},"MembershipGroupListItem":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique group identifier"},"Name":{"type":"string","description":"group name"},"Description":{"type":"string","description":"group description"}}},"MembershipGroup":{"allOf":[{"$ref":"#/definitions/MembershipGroupListItem"},{"type":"object","properties":{"ContactsCount":{"type":"integer","description":"Total count of group participants"},"ContactIds":{"type":"array","items":{"type":"integer","description":"Contact IDs of group participants."}}}}]},"MembershipLevel":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique membership level identifier"},"Name":{"type":"string","description":"level name"},"Description":{"type":"string","description":"level description"},"PublicCanApply":{"type":"boolean","description":"Indicates if non-member can apply for membership with this level."},"Type":{"type":"string","enum":["Individual","Bundle"],"description":"Indicates if membership level is individual or bundle."},"BundleMembersLimit":{"type":"integer","description":"Maximum number of bundle members. Empty for individuals."},"MembershipFee":{"type":"number","description":"Price of being a member with this level of membership. Price is for RenewalPeriod."},"MemberCanChangeToLevels":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Member can switch from current level to one of levels from this list."},"RenewalPeriod":{"$ref":"#/definitions/MembershipRenewalPeriod"}}},"MembershipRenewalPeriod":{"type":"object","description":"Describes membership renewal period.","properties":{"Kind":{"type":"string","enum":["Never","Monthly","Quarterly","TwiceAYear","EveryNYears"],"description":"Period of renewal."},"StartFromJoinDate":{"type":"boolean","description":"Indicates if renewal period starts from join date. Otherwise, starts from dates specified in Dates field."},"Dates":{"type":"array","description":"Collection of renewal dates during a year.","items":{"type":"object","properties":{"Month":{"type":"integer","description":"Month of a year, 1-12","minimum":1,"maximum":12},"Day":{"type":"integer","description":"Day of a month","minimum":1,"maximum":31}}}},"AutomaticRecurringPayments":{"type":"boolean","description":"Indicates if recurring payments will be charged automatically."},"ApplicationReview":{"type":"object","description":"Application approval policy","properties":{"PrepayRequired":{"type":"boolean","description":"If true, membership fee should be received in full before application is activated. Else, approved memberships activate immediately, regardless of payment status."},"AdminApprovalRequired":{"type":"boolean","description":"\nIndicates that account administrator should approve membership application.\nFalse means that all applications are considered approved when they are submitted."}}}}},"OptionsListItem":{"type":"object","properties":{"Id":{"type":"integer","description":"Item identifier unique in the list"},"Label":{"type":"string","description":"Human-readable text label."},"Position":{"type":"integer","description":"Option position among other options."},"SelectedByDefault":{"type":"boolean","description":"Indicates whether this option would be selected on form if user did not select another option."},"ExtraCost":{"type":"number","format":"decimal","description":"Extra price for selecting this option. Used only by fields with an associated cost."}}},"RenewalPolicy":{"type":"object","properties":{"IncludeInRenewals":{"type":"boolean","description":"Indicates if the field should be shown in renewal form."},"AllowedToChangeInRenewal":{"type":"boolean","description":"Indicates whether field value can be changed during renual process. Can be set to TRUE only if IncludeInRenewals is set to TRUE."}},"description":"Defines how system manages field during renewal process. Used only by multichoice fields with an associated cost."},"RulesAndTermsInfo":{"type":"object","description":"Additional info for fields with rules / terms conditions. Not present for other field types.","properties":{"Text":{"type":"string","description":"Terms of use label."},"Link":{"type":"string","description":"Url of the rules and terms document."}}},"SavedSearchListItem":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique search identifier"},"Name":{"type":"string","description":"Saved search name"},"Description":{"type":"string","description":"Save search description"}}},"SavedSearch":{"allOf":[{"$ref":"#/definitions/SavedSearchListItem"},{"type":"object","properties":{"ContactIds":{"type":"array","items":{"type":"integer","description":"Contact IDs found by Saved Search."}}}}]},"UpdateContactFieldParams":{"allOf":[{"$ref":"#/definitions/EditContactFieldParams"},{"type":"object","properties":{"Id":{"type":"integer","description":"Unique identifier of existing field."}}}]},"UpdateContactParams":{"allOf":[{"$ref":"#/definitions/CreateContactParams"},{"type":"object","properties":{"Id":{"type":"integer","description":"Unique contact identifier."}}}]},"ClickedLink":{"type":"object","properties":{"Url":{"type":"string","description":"Link address."},"Clicked":{"type":"boolean","description":"the link is clicked at least once"},"ClicksCount":{"type":"integer","description":"Total number of link clicks (by all recipients)."}}},"CloneEvent":{"type":"object","properties":{"EventId":{"type":"integer","description":"Identifier of existing event you want to clone."},"TitlePrefix":{"type":"string","description":"Prefix to be added to the event title to form the new title. For example if you are cloning the event \"Annual meetup\" and the prefix is \"yet another \", then the new event will have the title \"yet another Annual meetup\"."}}},"DeliveryStatus":{"type":"string","enum":["Queued","Delivered","Failed"],"description":"Email delivery status."},"EmailDraft":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique email draft identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"CreatedDate":{"type":"string","format":"datetime","description":"Date and time when the draft was created."},"Type":{"$ref":"#/definitions/EmailDraftType"},"Subject":{"type":"string","description":"Value for email subject. It may contain macros, which will be replaced before delivery.\n"},"Body":{"type":"string","description":"Value for email body. Usually it is HTML content with macros, which will be replaced before delivery.\n"},"ReplyToName":{"type":"string","description":"Display name for reply to"},"ReplyToAddress":{"type":"string","description":"Email address to use as reply to."},"EventId":{"type":"integer","description":"Event identifier for which the draft has been started (if any)."},"Creator":{"$ref":"#/definitions/ShortContact"},"IsLinkTrackingAllowed":{"type":"boolean","description":"Indicates if email tracking is enabled for this email."},"Recipients":{"$ref":"#/definitions/EmailRecipients"},"LastChangedDate":{"type":"string","format":"datetime","description":"Date and time when the draft was last modified."},"Modifier":{"$ref":"#/definitions/ShortContact"},"IsScheduled":{"type":"boolean","description":"Indicates if draft delivery is scheduled for a particular date. See ScheduledDate value."},"ScheduledDate":{"type":"string","format":"datetime","description":"Date and time when the draft will be sent."}}},"emailDraftId":{"type":"integer","title":"emailDraftId","description":"email draft identifier"},"EmailDraftListResult":{"type":"object","properties":{"Emails":{"type":"array","items":{"$ref":"#/definitions/EmailDraft"},"description":"Collection of email drafts."}}},"EmailDraftPreview":{"type":"object","description":"Describes how email will look like when all macros are applied.","properties":{"Subject":{"type":"string","description":"Email subject with macros applied."},"Body":{"type":"string","description":"Email body HTML with mosros applied."}}},"EmailDraftType":{"type":"string","enum":["Unknown","ContactBlast","EventAttendees","EventWaitlistPersons"]},"EmailLog":{"allOf":[{"$ref":"#/definitions/EmailLogRecords"},{"$ref":"#/definitions/EmailLogIdentifiers"}]},"EmailLogIdentifiers":{"type":"object","properties":{"EmailsIdentifiers":{"type":"array","items":{"type":"integer","description":"Unique email identifier."},"description":"A collection of email log record identifiers."}}},"EmailLogRecord":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique email identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"SentDate":{"type":"string","description":"Date when email sending was started."},"Subject":{"type":"string","description":"Email subject."},"Body":{"type":"string","description":"Email body."},"ReplyToName":{"type":"string"},"ReplyToAddress":{"type":"string"},"Type":{"$ref":"#/definitions/EmailType"},"IsTrackingAllowed":{"type":"boolean"},"IsCopySentToAdmins":{"type":"boolean"},"SenderId":{"type":"integer"},"SenderName":{"type":"string"},"SendingType":{"$ref":"#/definitions/InitializationSourceType"},"Origin":{"$ref":"#/definitions/EmailOrigin"},"SubOriginId":{"type":"integer"},"RecipientCount":{"type":"integer"},"ReadCount":{"type":"integer"},"UniqueLinkClickCount":{"type":"integer"},"SuccessfullySentCount":{"type":"integer"},"RecipientsThatClickedAnyLinkCount":{"type":"integer"},"FailedCount":{"type":"integer"},"InProgress":{"type":"boolean"},"Recipient":{"$ref":"#/definitions/EmailRecipient","description":"only if email has a single recipient"}}},"EmailLogRecords":{"type":"object","properties":{"Emails":{"type":"array","items":{"$ref":"#/definitions/EmailLogRecord"},"description":"Collection of email log records.\n"}}},"EmailOrigin":{"type":"object","properties":{"OriginType":{"$ref":"#/definitions/EmailOriginType"},"Id":{"type":"integer","description":"Unique origin identifier."},"Name":{"type":"string"}}},"EmailOriginType":{"type":"string","enum":["System","Contact","MembershipLevel","Event","Donation","WebPage","ForumTopicSubscription","FinancialDocument","NewPasswordEmail","OnlineStoreOrder","PollStartAnnouncement"],"description":"Email origin type."},"EmailRecipient":{"type":"object","properties":{"Id":{"type":"integer","description":"If email was sent to individual recipient, this field contains contact identifier.\nIf email was sent to all recipients from some saved search, this field contains saved search identifier.\n"},"Type":{"type":"integer","description":"Recipient group type.","enum":["IndividualContactRecipient","IndividualEventRegistrationRecipient","EventAttendees_CheckedIn","EventAttendees_NotCheckedIn","EventAttendees_Paid","EventAttendees_NotPaid","EventAttendees_All","EventAttendees_Selected","Contacts_All","Contacts_Selected","Contacts_SavedSearch","Members_All","Members_SavedSearch","SentEmailRecipient","EventWaitlist_All","EventWaitlist_Selected"]},"Name":{"type":"string","description":"Display name of recipient or name of saved search."},"Email":{"type":"string","description":"recipient email. for IndividualRecipient and SentEmailRecipient types only"}}},"EmailRecipients":{"type":"array","description":"Collection of recipients.","items":{"$ref":"#/definitions/EmailRecipient"}},"EmailRecipientsParams":{"type":"object","title":"EmailRecipientsParams","description":"list of email recipient groups","properties":{"Recipients":{"type":"array","items":{"$ref":"#/definitions/EmailRecipient"}},"ContextEventId":{"type":"integer","description":"context event identifier. not required. for Event related recipient types only"}}},"EmailScheduleParams":{"type":"object","properties":{"DraftId":{"type":"integer","description":"Unique email draft identifier."},"ScheduleDate":{"type":"string","format":"datetime","description":"Date and time scheduled for sending."},"IsScheduled":{"type":"boolean","description":"Indicates if draft is scheduled for delivery. Set False to pause."}}},"EmailType":{"type":"string","enum":["Unknown","MemberApplication_ActivationEmail","MemberApplication_InitiationEmail","MemberApplication_BundleMember_ActivationEmail","MemberApplication_BundleAdmin_ActivationEmail","MemberRenewal_FreeRenewal","MemberRenewal_RenewalPending","MemberRenewal_RenewalConfirmed","MemberRenewal_RenewalCanceledByMember","MemberRenewal_MemberRenewal_RecurringRenewalFailed","MemberRenewal_Online_PaymentSuccessfull","MemberRenewal_AdvanceRenewalReminder1","MemberRenewal_AdvanceRenewalReminder2","MemberRenewal_RenewalDateNotice","MemberRenewal_GracePeriod","MemberRenewal_Lapsed","MemberLevelChange_InitiationEmail","MemberLevelChange_ActivationEmail","Donation_Confirmation","EventRegistration_OfflinePayment_FreeLevelConfirmationEmail","EventRegistration_OfflinePayment_PaidLevelConfirmationEmail","EventRegistration_OfflinePayment_PaidLevelPendingEmail","EventRegistration_NewWaitlistEntryEmail","EventRegistration_CanceledEmail","EventRegistration_OnlinePayment_PaidLevelConfirmationEmail","EventRegistration_Reminder1","EventRegistration_Reminder2","EventRegistration_Reminder3","EventRegistration_Announcement1","EventRegistration_Announcement2","EventRegistration_Announcement3","EmailBlast_Members","EmailBlast_Registrations","EmailBlast_WaitlistPersons","Finances_Invoice","Finances_PaymentReceipt","Finances_DonationReceipt","Finances_RefundNote","Contact_Password","SubscriptionForm_Confirmation","Public_MemberToMemberEmail","Poll_Announcement_Notification","ForgottenPasswordRequest","ForumNotification","ForumTopicNotification","OnlineStore_Order"],"description":"The reason why the email was sent."},"InitializationSourceType":{"type":"string","enum":["Automatic","Manual"],"description":"Email initialization source type."},"SendDraftParams":{"type":"object","properties":{"DraftId":{"type":"integer","description":"Unique email draft identifier."}}},"SendEmailParams":{"type":"object","properties":{"Subject":{"type":"string","description":"Subject of email message. May contain macros."},"Body":{"type":"string","description":"Email body in HTML format. May contain macros."},"ReplyToAddress":{"type":"string","description":"Email ReplyTo address."},"ReplyToName":{"type":"string","description":"Email ReplyTo display name."},"Recipients":{"$ref":"#/definitions/EmailRecipients"},"EventId":{"type":"integer","description":"Unique event identifier. Required if email should be sent to event-related recipients, e.g. all attendees.\n  See EmailRecipient description for details.\n"}}},"SentEmailRecipient":{"type":"object","properties":{"ContactId":{"type":"integer","description":"Contact identifier with used email address.\n"},"EventRegistrationId":{"type":"integer","description":"Event regisration Id if the email was sent to an event attendee.\n"},"FirstName":{"type":"string","description":"first name of recipient."},"LastName":{"type":"string","description":"last name of recipient."},"Organization":{"type":"string","description":"organization of recipient."},"Email":{"type":"string","description":"recipient email."},"RecipientName":{"type":"string","description":"display name of recipient (Last, First names (if set) or Organization)."},"IsDelivered":{"type":"boolean","description":"email has been successfully sent."},"IsOpened":{"type":"boolean","description":"email has been opened/viewed."},"ClickedLinks":{"type":"array","items":{"$ref":"#/definitions/ClickedLink"}}}},"SentEmailRecipientsRecords":{"type":"object","properties":{"Recipients":{"type":"array","items":{"$ref":"#/definitions/SentEmailRecipient"},"description":"Collection of email recipients."}}},"ShortContact":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique contact identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"FirstName":{"type":"string","description":"Contact first name"},"LastName":{"type":"string","description":"Contact last name"}}},"EventRegistration":{"type":"object","required":["Id","Url","Event","Contact","RegistrationType","RegistrationTypeId","DisplayName","Organization","IsCheckedIn","RegistrationFee","PaidSum","IsPaid","ShowToPublic","RegistrationDate","IsGuestRegistration"],"properties":{"Id":{"type":"integer","description":"Unique identifier of event registration"},"Url":{"$ref":"#/definitions/ResourceUrl"},"Event":{"$ref":"#/definitions/EventStub"},"Contact":{"$ref":"#/definitions/LinkedResourceWithName"},"RegistrationType":{"$ref":"#/definitions/LinkedResourceWithName"},"RegistrationTypeId":{"type":"integer","description":"Unique identifier of event registration type"},"GuestRegistrationsSummary":{"$ref":"#/definitions/GuestRegistrationsSummary"},"DisplayName":{"type":"string","description":"Contact display name."},"Organization":{"type":"string","description":"Contact display name."},"IsCheckedIn":{"type":"boolean","default":false,"description":"Indicates if registrant is already checked in for event."},"RegistrationFee":{"type":"number","format":"decimal","description":"The fee for this registration including all extra charges and taxes."},"PaidSum":{"type":"number","format":"decimal","description":"The sum that the registrant has already paid for the registration."},"IsPaid":{"type":"boolean","default":false,"description":"Indicates if the registrant has already paid for the registration."},"RegistrationFields":{"type":"array","description":"A collection of registration fields values","items":{"$ref":"#/definitions/FieldValue"}},"ShowToPublic":{"type":"boolean","default":false,"description":"Indicates whether this registration can be shown to other event registrants."},"RegistrationDate":{"type":"string","format":"datetime","description":"Date and time when registration was created. (Account local time)"},"Memo":{"type":"string","description":"Some additional notes about this registration."},"IsGuestRegistration":{"type":"boolean","default":false,"description":"Boolean. True if this is a guest registration, otherwise false."},"OnWaitlist":{"type":"boolean","default":false,"description":"Indicates if event registration is in waitlist."},"RecreateInvoice":{"type":"boolean","default":false,"description":"Optional boolean value. If specified and equals true, related invoice will be automatically updated (or created) to match selected registration type and extra cost options."},"ParentRegistration":{"$ref":"#/definitions/LinkedResource"},"Status":{"$ref":"#/definitions/EventRegistrationStatus"}}},"EventRegistrationPost":{"type":"object","required":["Event","Contact","RegistrationTypeId"],"properties":{"Id":{"type":"integer","description":"Unique identifier of event registration"},"Url":{"$ref":"#/definitions/ResourceUrl"},"Event":{"type":"object","required":["Id"],"properties":{"Id":{"type":"integer"}}},"Contact":{"type":"object","required":["Id"],"properties":{"Id":{"type":"integer"}}},"RegistrationTypeId":{"type":"integer","description":"Unique identifier of event registration type"},"GuestRegistrationsSummary":{"$ref":"#/definitions/GuestRegistrationsSummary"},"IsCheckedIn":{"type":"boolean","default":false,"description":"Indicates if registrant is already checked in on event."},"RegistrationFields":{"type":"array","description":"A collection of registration fields values","items":{"$ref":"#/definitions/FieldValue"}},"ShowToPublic":{"type":"boolean","default":false,"description":"Indicates whether this registration can be shown to other event registrants."},"RegistrationDate":{"type":"string","format":"datetime","description":"Date and time when registration was created. (Account local time)"},"Memo":{"type":"string","description":"Some additional notes about this registration."},"RecreateInvoice":{"type":"boolean","default":false,"description":"Optional boolean value. If specified and equals true, related invoice will be automatically updated (or created) to match selected registration type and extra cost options."}}},"EventRegistrationPut":{"type":"object","required":["Id"],"properties":{"Id":{"type":"integer","description":"Unique identifier of event registration"},"RegistrationTypeId":{"type":"integer","description":"Unique identifier of event registration type"},"IsCheckedIn":{"type":"boolean","description":"Indicates if registrant is already checked in on event."},"RegistrationFields":{"type":"array","description":"A collection of registration fields values","items":{"$ref":"#/definitions/FieldValue"}},"ShowToPublic":{"type":"boolean","description":"Indicates whether this registration can be shown to other event registrants."},"Memo":{"type":"string","description":"Some additional notes about this registration."},"GuestRegistrationsSummary":{"$ref":"#/definitions/GuestRegistrationsSummary"},"RecreateInvoice":{"type":"boolean","description":"Optional boolean value. If specified and equals true, related invoice will be automatically updated (or created) to match selected registration type and extra cost options."}}},"EventRegistrationsResponse":{"type":"array","items":{"$ref":"#/definitions/EventRegistration"},"description":"List of event registrations that matches request criteria."},"EventRegistrationStatus":{"type":"string","description":"Describes event registration status\n","enum":["Undefined","Paid","Unpaid","PartiallyPaid","Canceled","Free","NoInvoice","OnWaitlist"]},"EventStub":{"properties":{"Id":{"type":"integer","description":"Event identifier."},"Url":{"$ref":"#/definitions/ResourceUrl","description":"Event Url to get event details from API."},"Name":{"type":"string","description":"Event title."},"StartDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to start."},"EndDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to end. Could be empty."},"Location":{"type":"string","description":"Location where the event will take place."}}},"GuestRegistrationsSummary":{"properties":{"NumberOfGuests":{"type":"integer","description":"Number of guests registered along with the registrant. If event registration type requires guests registration with details (contact information, etc.), this value is 0."},"NumberOfGuestsCheckedIn":{"type":"integer","description":"Number of guests who already checked in. If event registration type requires guests registration with details (contact information, etc.), this value is null."},"GuestRegistrations":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"List of guest registrations links. If event registration type expects guest registration by number (without contact information), this value is null. This value cannot be saved or updated using API.\n"}}},"EventEditParams":{"type":"object","required":["Name","EventType","StartDate"],"properties":{"Id":{"type":"integer","description":"Unique identifier of event. This field should be provided only when updating existing event."},"Name":{"type":"string","description":"Event title"},"EventType":{"type":"string","enum":["Reqular","RSVP"],"description":"Indicates if event is simple (RSVP) or regular."},"StartDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to start. If no time offset is specified, counts as UTC and will be converted into event timezone."},"StartTimeSpecified":{"type":"boolean","description":"Indicates if event start time is specified. False means that StartDate contains only date component."},"EndDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to end. Could be empty. If no time offset is specified, counts as UTC and will be converted into event timezone."},"EndTimeSpecified":{"type":"boolean","description":"Indicates if event end time is specified. False means that EndDate contains only date component."},"Location":{"type":"string","description":"Location where the event will take place."},"RegistrationEnabled":{"type":"boolean","description":"Indicates that registration to this event is enabled"},"Tags":{"type":"array","items":{"type":"string"},"description":"A collection of tags associated with the event."},"Details":{"$ref":"#/definitions/EventDetailsEditParams"},"Sessions":{"type":"array","items":{"$ref":"#/definitions/EventSesssion"},"description":"Collection of event sessions. Exist in multisessions events only."},"RegistrationsLimit":{"type":"integer","description":"Maximum number of registrations for this event."}}},"EventDetailsEditParams":{"type":"object","properties":{"DescriptionHtml":{"type":"string","description":"Full event description in HTML format."},"PaymentInstructions":{"type":"string","description":"A description how attendee can pay for attendance in this event. Payment instructions for this event only."},"TimeZone":{"$ref":"#/definitions/TimeZone"},"AccessControl":{"$ref":"#/definitions/EventAccessControl"},"GuestRegistrationSettings":{"$ref":"#/definitions/EventGuestRegistrationSettings"},"Organizer":{"properties":{"Id":{"type":"integer"}},"description":"Link to contact, who is set as organizer for this event."},"PaymentMethod":{"$ref":"#/definitions/EventPaymentMethodType"},"RegistrationConfirmationExtraInfo":{"type":"string","description":"Additional event information to be inserted in registration confirmation email"},"RegistrationMessage":{"type":"string","description":"This text will be shown above Register button on Event details"},"SendEmailCopy":{"type":"boolean","description":"Indicates if email copy should be sent according to email routing setting."},"IsWaitlistEnabled":{"type":"boolean","description":"Indicates if waitlist feature is enabled to the event."},"WaitlistSettings":{"$ref":"#/definitions/EventWaitlistSettings"},"MultipleRegistrationAllowed":{"type":"boolean","description":"Indicates if it is allowed to have multiple registrations for the same contact."},"AttendeesDisplaySettings":{"$ref":"#/definitions/EventAttendeesDisplaySettings"}}},"CheckInParams":{"type":"object","required":["RegistrationId","CheckedIn"],"properties":{"RegistrationId":{"type":"integer","description":"Event registration Id."},"CheckedIn":{"type":"boolean","description":"Check in (true) or check out (false)."},"CheckedInGuests":{"type":"integer","description":"For event registrations with anonymous guests (guests as number), sets number of checked-in guests."}}},"Event":{"type":"object","required":["Id","Url","Name","EventType","StartDate"],"properties":{"Id":{"type":"integer","description":"Unique event identifier"},"Url":{"$ref":"#/definitions/ResourceUrl"},"Name":{"type":"string","description":"Event title"},"EventType":{"type":"string","enum":["Reqular","RSVP"],"description":"Indicates if event is simple (RSVP) or regular."},"StartDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to start."},"StartTimeSpecified":{"type":"boolean","description":"Indicates if event start time is specified. False means that StartDate contains only date component."},"EndDate":{"type":"string","format":"datetime","description":"Date and time when the event is scheduled to end. Could be empty."},"EndTimeSpecified":{"type":"boolean","description":"Indicates if event end time is specified. False means that EndDate contains only date component."},"Location":{"type":"string","description":"Location where the event will take place."},"RegistrationEnabled":{"type":"boolean","description":"Indicates whether registration to this event is enabled"},"HasEnabledRegistrationTypes":{"type":"boolean","description":"Indicates that at least one registration type is enabled for this event."},"AccessLevel":{"$ref":"#/definitions/EventAccessLevel"},"Tags":{"type":"array","items":{"type":"string"},"description":"A collection of tags associated with the event."},"Details":{"$ref":"#/definitions/EventDetails"},"Sessions":{"type":"array","items":{"$ref":"#/definitions/EventSesssion"},"description":"Collection of event sessions. Exist in multisessions events only."},"RegistrationsLimit":{"type":"integer","description":"Maximum number of registrations for this event."},"InviteeStat":{"$ref":"#/definitions/EventInviteeStatistics"},"PendingRegistrationsCount":{"type":"integer","description":"Number of participants already registered for this event but not confirmed yet."},"ConfirmedRegistrationsCount":{"type":"integer","description":"Number of participants already registered for this event and already confirmed."},"CheckedInAttendeesNumber":{"type":"integer","description":"Number of attendees already checked in on this event."}}},"EventAccessControl":{"type":"object","description":"Describes event availability.","required":["AccessLevel"],"properties":{"AccessLevel":{"$ref":"#/definitions/EventAccessLevel"},"AvailableForAnyLevel":{"type":"boolean","description":"If AccessLevel is Restricted, then indicates if the event is available to any member on any level."},"AvailableForLevels":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Event is available to members who are on these levels.\nThis field appears only if AccessLevel is Restricted and AvailableForAnyLevel is false."},"AvailableForAnyGroup":{"type":"boolean","description":"If AccessLevel is Restricted, then indicates if the event is available to any member in any membership group."},"AvailableForGroups":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Event is available to members who are any of these groups.\nThis field appears only if AccessLevel is Restricted and AvailableForAnyGroup is false."}}},"EventAccessLevel":{"type":"string","enum":["Public","AdminOnly","Restricted"],"description":"\nEvent accessability.\n  - Public means event accessible for everyone\n  - AdminOnly means event accessible for administrators only\n  - Restricted means event accessible for specific membership levels or groups."},"EventAttendeesDisplaySettings":{"type":"object","description":"Settings for section \"List of event registrants\" on UI.","properties":{"VisibleTo":{"allOf":[{"$ref":"#/definitions/ContactFieldAccessLevel"},{"description":"Indicates who is allowed to see list of event registrants."}]},"ShowPendingAttendees":{"type":"boolean","description":"Indicates if pending registrants should be included in the list of registrants."}}},"EventDetails":{"type":"object","properties":{"DescriptionHtml":{"type":"string","description":"Full event description in HTML format. Important - Links to images can be relative."},"PaymentInstructions":{"type":"string","description":"A description how registrant can pay for attendance to this event. Payment instructions for this event only."},"TimeZone":{"$ref":"#/definitions/TimeZone"},"RegistrationTypes":{"type":"array","items":{"$ref":"#/definitions/EventRegistrationType"},"description":"Collection of configured registration types for the event."},"EventRegistrationFields":{"type":"array","items":{"$ref":"#/definitions/EventRegistrationFieldDescription"},"description":"Collection of fields registrant should fill during registration process."},"TotalPaid":{"type":"number","description":"Total sum paid for all registrations to this event. This is a read-only property."},"TotalDue":{"type":"number","description":"Total sum due, but not necessarily paid yet for all registrations related to this event. This is a read-only property."},"AccessControl":{"$ref":"#/definitions/EventAccessControl"},"GuestRegistrationSettings":{"$ref":"#/definitions/EventGuestRegistrationSettings"},"Organizer":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who is designated as organizer for this event."}]},"PaymentMethod":{"$ref":"#/definitions/EventPaymentMethodType"},"RegistrationConfirmationExtraInfo":{"type":"string","description":"Additional event information to be inserted in registration confirmation email"},"RegistrationMessage":{"type":"string","description":"This text will be shown above Register button on Event details"},"SendEmailCopy":{"type":"boolean","description":"Indicates if email copy should be sent according to email routing settings."},"IsWaitlistEnabled":{"type":"boolean","description":"Indicates if waitlist feature is enabled for the event."},"WaitlistSettings":{"$ref":"#/definitions/EventWaitlistSettings"},"MultipleRegistrationAllowed":{"type":"boolean","description":"Indicates if multiple registrations are allowed for the same contact."},"AttendeesDisplaySettings":{"$ref":"#/definitions/EventAttendeesDisplaySettings"}}},"EventGuestRegistrationPolicy":{"type":"string","enum":["Disabled","NumberOfGuests","CollectContactDetails","CollectFullInfo"],"description":"Describes how guests are registered. Allowed values are\n- Disabled - guest registration is not allowed - NumberOfGuests - number of guests should be specified. - CollectContactDetails - contact information should be collected for each guest. - CollectFullInfo - full registration info should be collected for each guest."},"EventGuestRegistrationSettings":{"type":"object","description":"Control how system works with guest registrations for specific event.","properties":{"Enabled":{"type":"boolean","description":"Indicates if guest registrations are allowed."},"CreateContactMode":{"type":"string","enum":["NeverCreateContact","CreateContactForAllGuests","CreateContactForGuestsWithEmail"],"description":"Indicates whether guests are automatically added to database after the main registrant confirms the registration"}}},"EventInviteeStatistics":{"type":"object","description":"Statistics related to invitees to RSVP events.","properties":{"NotResponded":{"type":"integer","description":"Number of invitees who did not respond yet."},"NotAttended":{"type":"integer","description":"Number of invitees who answered NO to the invite."},"Attended":{"type":"integer","description":"Number of invitees who answered YES to the invite."},"MaybeAttended":{"type":"integer","description":"Number of invitees who answered MAY BE to the invite."}}},"EventPaymentMethodType":{"type":"string","enum":["Undefined","OnlineAndOffline","OfflineOnly","OnlineOnly"],"description":"How attendees can pay for the ticket.\n\n  - OnlineAndOffline\n  - OfflineOnly\n  - OnlineOnly"},"EventRegistrationCancellationBehavior":{"type":"string","enum":["DoNotAllow","AllowUpToPeriodBeforeEvent","Allow"],"description":"Indicates if it is possible for attendee to self-cancel event registration."},"EventRegistrationFieldDescription":{"allOf":[{"$ref":"#/definitions/EntityFieldDescriptionWithExtraCharge"},{"properties":{"Kind":{"type":"string","enum":["Common","Custom"],"description":"Indicated is the field is common for all contacts or custom for the event."}}}]},"EventRegistrationType":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique event registration type identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"IsEnabled":{"type":"boolean","description":"Indicates whether this registration type is enabled"},"EventId":{"type":"integer","description":"Identifier of event related to the registration type."},"Name":{"type":"string","description":"Registraton type title."},"Description":{"type":"string","description":"Plain text description for the event registration type."},"BasePrice":{"type":"number","description":"Base price registrant pays for this registration type."},"GuestPrice":{"type":"number","description":"Price for each additional guest."},"UseTaxScopeSettings":{"type":"boolean","description":"Indicates whether account tax scope settings should be used to calculate final price."},"Availability":{"$ref":"#/definitions/EventRegistrationTypeAvailability"},"RegistrationCode":{"type":"string","description":"Registration code required to apply for event with this registration type. This property has value only if Availability is CodeRequired."},"AvailableForMembershipLevels":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Which membership levels can apply for event. This property has value only if Availability is MembersOnly."},"AvailableFrom":{"type":"string","format":"datetime","description":"This registration type is available starting from this date. Can be null."},"AvailableThrough":{"type":"string","format":"datetime","description":"This registration type is available until this date. Can be null."},"MaximumRegistrantsCount":{"type":"integer","description":"Maximum number of registrants for this registration type."},"CurrentRegistrantsCount":{"type":"integer","description":"Current number of registrants for this registration type."},"GuestRegistrationPolicy":{"$ref":"#/definitions/EventGuestRegistrationPolicy"},"UnavailabilityPolicy":{"$ref":"#/definitions/EventRegistrationUnavailabilityPolicy"},"CancellationBehaviour":{"$ref":"#/definitions/EventRegistrationCancellationBehavior"},"CancellationDaysBeforeEvent":{"type":"integer","description":"In case if CancellationBehaviour = AllowUpToPeriodBeforeEvent, this field indicates the minimum number of days before the event that cancellations are allowed."},"IsWaitlistEnabled":{"type":"boolean","description":"Indicated if registrant should be added to waitlist if registrations have reached their limit."}}},"EventRegistrationTypeAvailability":{"type":"string","enum":["Everyone","MembersOnly","CodeRequired"],"description":"Indicates who the registration type is available to."},"EventRegistrationTypeEditParams":{"type":"object","required":["EventId"],"properties":{"Id":{"type":"integer","description":"Unique event identifier. This field should be provided only when updating existing event registration type"},"EventId":{"type":"integer","description":"Identifier of event related to the registration type."},"Name":{"type":"string","description":"Registraton type title. This field should be provided only when creating new registration type\n"},"IsEnabled":{"type":"boolean","description":"Indicates whether this registration type is enabled"},"Description":{"type":"string","description":"Plain text description for the event registration type."},"BasePrice":{"type":"number","description":"Base price registrant pays with this registration type."},"GuestPrice":{"type":"number","description":"Price for each additional guest."},"UseTaxScopeSettings":{"type":"boolean","default":false,"description":"Indicates whether account tax scope settings should be used to calculate final price. âš  Once set, it has to be provided on every update. Otherwise, it will be overwritten to default value\n"},"Availability":{"$ref":"#/definitions/EventRegistrationTypeAvailability"},"RegistrationCode":{"type":"string","description":"Registration code required to apply for event with this registration type. This property has value only if Availability is CodeRequired."},"AvailableForMembershipLevels":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"Which membership levels can apply for event. This property has value only if Availability is MembersOnly."},"AvailableFrom":{"type":"string","format":"datetime","description":"This registration type is available starting from this date. Can be null. âš  Once set, it has to be provided on every update. Otherwise, it will be overwritten to null\n"},"AvailableThrough":{"type":"string","format":"datetime","description":"This registration type is available until this date. Can be null. âš  Once set, it has to be provided on every update. Otherwise, it will be overwritten to null\n"},"MaximumRegistrantsCount":{"type":"integer","description":"Maximum number of registrants for this registration type."},"GuestRegistrationPolicy":{"$ref":"#/definitions/EventGuestRegistrationPolicy"},"UnavailabilityPolicy":{"$ref":"#/definitions/EventRegistrationUnavailabilityPolicy"},"CancellationBehaviour":{"$ref":"#/definitions/EventRegistrationCancellationBehavior"},"CancellationDaysBeforeEvent":{"type":"integer","description":"If CancellationBehaviour = AllowUpToPeriodBeforeEvent, this field contains minimum number of days before the event that cancellations are allowed"},"IsWaitlistEnabled":{"type":"boolean","description":"Indicated whether registrant should be placed on waitlist if registrations have reached their limit."}}},"EventRegistrationTypeResponse":{"type":"array","items":{"$ref":"#/definitions/EventRegistrationType"},"description":"List of event registration types that match the request criteria."},"EventRegistrationUnavailabilityPolicy":{"type":"string","enum":["ShowDisabled","Hide"],"description":"Indicates what is displayed if the registration type is not available for a particular visitor."},"EventSesssion":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique event session identifier."},"Title":{"type":"string","description":"Automatically generated session title."},"StartDate":{"type":"string","format":"datetime","description":"Date and time when the event session is scheduled to start."},"StartTimeSpecified":{"type":"boolean","description":"Indicates if session start time is specified. False means that StartDate contains only date component."},"EndDate":{"type":"string","format":"datetime","description":"Date and time when the event session is scheduled to end. Could be empty."},"EndTimeSpecified":{"type":"boolean","description":"Indicates if session end time is specified. False means that EndDate contains only date component."}}},"EventsCountResponse":{"type":"object","properties":{"Count":{"type":"integer","description":"Number of events that match request criteria. This field appears only if $count parameter was passed in request."}}},"EventsListResponse":{"type":"object","properties":{"Events":{"type":"array","items":{"$ref":"#/definitions/Event"},"description":"List of events that match request criteria."}}},"EventIdsResponse":{"type":"object","properties":{"EventsIdentifiers":{"type":"array","items":{"type":"integer"},"description":"List of event identifiers that match request criteria. The field appears only if idsOnly parameter was passed in request."}}},"EventsResponse":{"allOf":[{"$ref":"#/definitions/EventIdsResponse"},{"$ref":"#/definitions/EventsListResponse"},{"$ref":"#/definitions/EventsCountResponse"}]},"EventWaitlistSettings":{"type":"object","properties":{"WaitlistType":{"type":"string","enum":["None","Manual","Auto"],"description":"Indicates how the waitlist works for the event.\n\n - None - waitlist is not enabled\n - Manual - people can be added to a waitlist and then automatically registered in the order they were added, as sufficient spaces open up\n - Auto - people can be added to a waitlist and then manually registered by an administrator or by themselves once spaces become available"},"InformationToCollect":{"type":"string","enum":["None","NameAndEmail","ContactInformation","RegistrationInformation"],"description":"Indicates what information should be collected for people being added to the waitlist."}}},"RegisterFromWaitlistParams":{"type":"object","required":["WaitlistRegistrationId","EventId","GenerateInvoice"],"properties":{"WaitlistRegistrationId":{"type":"integer","description":"Event registration Id."},"EventId":{"type":"integer","description":"Event Id."},"GenerateInvoice":{"type":"boolean","default":true,"description":"Defines if invoice should be generated in case if registration is considered paid (registration fee > 0 or any extra costs selected)"}}},"AllocateInvoiceParams":{"type":"object","properties":{"InvoiceId":{"type":"integer","description":"Unique invoice identifier."},"Amount":{"type":"number","description":"Allocating amount."}}},"AuditItemsListResult":{"type":"object","properties":{"Items":{"type":"array","items":{"$ref":"#/definitions/AuditLogItem"},"description":"List of audit log items that match request criteria."}}},"AuditLogItem":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"Timestamp":{"type":"string","format":"date","description":"Item creation date."},"Contact":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related contact."}]},"FirstName":{"type":"string","description":"Contact first name"},"LastName":{"type":"string","description":"Contact last name"},"Organization":{"type":"string","description":"Contact organization"},"Email":{"type":"string","description":"Contact primary email."},"Message":{"type":"string","description":"Log item text."},"Severity":{"type":"string","description":"Log item severity level.","enum":["Verbose","Information","AttentionRequired","Warning","Error","Critical"]},"OrderType":{"type":"string","description":"The origin of the audit log entry.","enum":["MembershipApplication","MembershipRenewal","MembershipLevelChange","EventRegistration","Donation","ChangeBillingPlan","ChangeBillingInfo","LockInPlan","AssociationRenewal"]},"Properties":{"type":"object","description":"Collection of audit log item properties that contains all technical information about transaction and other linked documents."},"Document":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related document."}]},"DocumentType":{"type":"string","description":"Related document type.","enum":["Invoice","Payment","CreditMemo","Refund","Adjustment","DonationPayment","InvoicePayment"]},"DocumentAction":{"type":"string","description":"Action performed on related document type.","enum":["Created","Changed","Deleted","Voided","Custom"]}}},"CreateFinanceDocument":{"type":"object","properties":{"Url":{"$ref":"#/definitions/ResourceUrl"},"Value":{"type":"number","format":"float"},"DocumentDate":{"type":"string","format":"date","description":"Document date."},"Contact":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact assigned to the financial document."}]},"CreatedDate":{"type":"string","format":"date","description":"Date and time when the document was created."},"CreatedBy":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who created the document. Could be null."}]}}},"CreateInvoiceParams":{"allOf":[{"$ref":"#/definitions/EditInvoiceParams"}]},"CreatePaymentModel":{"type":"object","properties":{"Value":{"type":"number","format":"float","description":"Payment amount."},"DocumentDate":{"type":"string","format":"date","description":"Document date."},"Invoices":{"type":"array","items":{"$ref":"#/definitions/LinkedResource"},"description":"If not null or empty then invoices with these IDs will be settled to new payment."},"Contact":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who made the payment."}]},"Tender":{"$ref":"#/definitions/LinkedResource"},"Comment":{"type":"string","description":"Internal note on payment. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment to payor. Visible to both administrators and payor."},"PaymentType":{"$ref":"#/definitions/PaymentType"}}},"CreateRefundParams":{"allOf":[{"$ref":"#/definitions/CreateFinanceDocument"},{"type":"object","properties":{"Tender":{"$ref":"#/definitions/LinkedResourceWithName"},"Comment":{"type":"string","description":"Internal note on refund. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on refund. Visible to both administrators and the person being refunded."},"SettledValue":{"type":"number","format":"float","description":"The previously settled amount of the payment."}}}]},"DocumentParam":{"type":"object","properties":{"DocumentId":{"type":"integer","description":"Unique finance document identifier."}}},"Donation":{"type":"object","properties":{"Contact":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who is assigned to the donation."}]},"Payment":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to payment assigned to the donation."}]},"DonationDate":{"type":"string","format":"date","description":"Donation date."},"FirstName":{"type":"string","description":"First name of the donor."},"LastName":{"type":"string","description":"Last name of the donor."},"Email":{"type":"string","description":"Email of the donor."},"Organization":{"type":"string","description":"Organization of the donor."},"Phone":{"type":"string","description":"Phone of the donor."},"Comment":{"type":"string","description":"Internal note on donation. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on donation. Visible to both administrators and donors."},"Value":{"type":"number","format":"float","description":"Donation amount."},"Type":{"$ref":"#/definitions/DonationType"},"FieldValues":{"type":"array","description":"For each custom field you have added to your Wild Apricot database, the name of the field, its system code, and its value for this donation are returned. The system code is a unique field identifier that can be used instead of the field name to identify the field. As well, a number of system fields are returned.","items":{"$ref":"#/definitions/FieldValue"}}}},"DonationListResponse":{"type":"object","properties":{"Payments":{"type":"array","items":{"$ref":"#/definitions/Donation"},"description":"List of donations that match request criteria."}}},"DonationType":{"type":"string","enum":["Online","Manual"],"description":"Donation type."},"EditInvoiceParams":{"type":"object","properties":{"Value":{"type":"number","format":"float"},"DocumentDate":{"type":"string","format":"date","description":"Document date."},"Contact":{"type":"object","properties":{"Id":{"type":"integer","description":"ID of contact to whom the invoice is assigned."}}},"CreatedBy":{"type":"object","properties":{"Id":{"type":"integer","description":"ID of contact who created the document. Could be null."}}},"UpdatedDate":{"type":"string","format":"date","description":"Date and time when the document was last modified.  Could be null."},"UpdatedBy":{"type":"object","properties":{"Id":{"type":"integer","description":"ID of contact who modified the document. Could be null."}}},"DocumentNumber":{"type":"string","description":"Invoice number."},"OrderType":{"$ref":"#/definitions/InvoiceOrderType"},"OrderDetails":{"type":"array","items":{"$ref":"#/definitions/OrderDetailRecord"}},"Memo":{"type":"string","description":"Internal note on invoice. Visible to administrators only."},"PublicMemo":{"type":"string","description":"Comment on invoice. Visible to both administrators and the person being invoicec."}}},"FinanceDocument":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique document identifier."},"Url":{"$ref":"#/definitions/ResourceUrl"},"Value":{"type":"number","format":"float"},"DocumentDate":{"type":"string","format":"date","description":"Document date."},"Contact":{"allOf":[{"$ref":"#/definitions/LinkedResourceWithName"},{"description":"Link to contact who is assigned to the financial document."}]},"CreatedDate":{"type":"string","format":"date","description":"Date and time when the document was created."},"CreatedBy":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who created the document. Could be null."}]},"UpdatedDate":{"type":"string","format":"date","description":"Date and time when the document was last modified.  Could be null."},"UpdatedBy":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to contact who modified the document. Could be null."}]}}},"Invoice":{"allOf":[{"$ref":"#/definitions/FinanceDocument"},{"type":"object","properties":{"DocumentNumber":{"type":"string","description":"Invoice number."},"IsPaid":{"type":"boolean","description":"Indicates if the invoice is fully paid."},"PaidAmount":{"type":"number","description":"Sum already paid for this invoice."},"OrderType":{"$ref":"#/definitions/InvoiceOrderType"},"EventRegistration":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related event registration or null."}]},"OrderDetails":{"type":"array","items":{"$ref":"#/definitions/OrderDetailRecord"}},"Memo":{"type":"string","description":"Internal note on invoice. Visible to administrators only."},"PublicMemo":{"type":"string","description":"Comment on invoice. Visible to both administrators and the person being invoiced."},"VoidedDate":{"type":"string","format":"date","description":"When invoice is voided this field indicates date of void. Voided invoice does not affect balance. For regular invoices this field is null."}}}]},"InvoiceIdsResponse":{"type":"object","properties":{"InvoiceIdentifiers":{"type":"array","items":{"type":"integer"},"description":"List of invoices identifiers that match request criteria. The field appears if idsOnly parameter was passed in request."}}},"InvoiceListResponse":{"type":"object","properties":{"Invoices":{"type":"array","items":{"$ref":"#/definitions/Invoice"},"description":"List of invoices that match request criteria."}}},"InvoiceOrderType":{"type":"string","description":"Type of invoice.","enum":["Undefined","MembershipApplication","MembershipRenewal","MembershipLevelChange","EventRegistration","Donation","OnlineStore"]},"InvoicesResponse":{"allOf":[{"$ref":"#/definitions/InvoiceIdsResponse"},{"$ref":"#/definitions/InvoiceListResponse"}]},"OrderDetailRecord":{"type":"object","properties":{"Value":{"type":"number","format":"float","description":"Sum to pay for this item. Can be negative (discounts)."},"OrderDetailType":{"$ref":"#/definitions/OrderDetailType"},"Notes":{"type":"string","description":"Comment to order detail"},"Taxes":{"$ref":"#/definitions/SalesTaxInfo"}}},"OrderDetailType":{"type":"string","description":"Type of invoice detail item.","enum":["Unspecified","EventRegistration","GuestsNumber","GuestCard","ExtraCost","MemberLevel","Prorate","Discount","Donation","OnlineStoreProduct","OnlineStoreShipping"]},"Payment":{"allOf":[{"$ref":"#/definitions/FinanceDocument"},{"type":"object","properties":{"Tender":{"$ref":"#/definitions/LinkedResourceWithName"},"Comment":{"type":"string","description":"Internal note on payment. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on payment. Visible to both administrators and payors."},"AllocatedValue":{"type":"number","format":"float","description":"Total amount allocated to another finance documents (invoices or refunds)."},"RefundedAmount":{"type":"number","format":"decimal","description":"Amount of a refund assigned to the payment."},"Type":{"$ref":"#/definitions/PaymentType"},"DonationId":{"type":"integer","description":"Identifyer of Donation for payment of type DonationPayment."},"FieldValues":{"type":"array","description":"For each custom field you have added to your Wild Apricot database, the name of the field, its system code, and its value for this donation are returned. The system code is a unique field identifier that can be used instead of the field name to identify the field. As well, a number of system fields are returned.","items":{"$ref":"#/definitions/FieldValue"}}}}]},"PaymentAllocation":{"type":"object","description":"Thhis object describes how payment is allocated among invoices.","properties":{"Id":{"type":"integer","description":"Unique identifier."},"Value":{"type":"number","description":"allocated amount."},"Invoice":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related invoice."}]},"InvoiceDate":{"type":"string","format":"date","description":"Invoice date"},"InvoiceNumber":{"type":"string","description":"Invoice number."},"Payment":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related payment."}]},"PaymentDate":{"type":"string","format":"date","description":"Payment date"},"PaymentType":{"$ref":"#/definitions/PaymentType"},"Refund":{"allOf":[{"$ref":"#/definitions/LinkedResource"},{"description":"Link to related refund."}]},"RefundDate":{"type":"string","format":"date","description":"Refund date"}}},"PaymentIdsResponse":{"type":"object","properties":{"PaymentIdentifiers":{"type":"array","items":{"type":"integer"},"description":"List of payment identifiers that match request criteria. The field appears if idsOnly parameter was passed in request."}}},"PaymentListResponse":{"type":"object","properties":{"Payments":{"type":"array","items":{"$ref":"#/definitions/Payment"},"description":"List of payments that match request criteria."}}},"PaymentsResponse":{"allOf":[{"$ref":"#/definitions/PaymentIdsResponse"},{"$ref":"#/definitions/PaymentListResponse"}]},"PaymentType":{"type":"string","enum":["Unknown","InvoicePayment","DonationPayment"],"description":"Payment type."},"Refund":{"allOf":[{"$ref":"#/definitions/FinanceDocument"},{"type":"object","properties":{"Tender":{"$ref":"#/definitions/LinkedResourceWithName"},"Comment":{"type":"string","description":"Internal note on refund. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on refund. Visible to both administrators and person being refunded."},"SettledValue":{"type":"number","format":"float","description":"Total amount allocated to another finance documents (payments or donations)."}}}]},"RefundIdsResponse":{"type":"object","properties":{"RefundIdentifiers":{"type":"array","items":{"type":"integer"},"description":"List of refund identifiers that match request criteria. The field appears if idsOnly parameter was passed in request."}}},"RefundListResponse":{"type":"object","properties":{"Refunds":{"type":"array","items":{"$ref":"#/definitions/Refund"},"description":"List of refunds that match request criteria."}}},"RefundParam":{"type":"object","properties":{"RefundId":{"type":"integer","description":"Unique refund identifier."}}},"RefundsResponse":{"allOf":[{"$ref":"#/definitions/RefundIdsResponse"},{"$ref":"#/definitions/RefundListResponse"}]},"SalesTax":{"description":"Taxes applied to the invoice according to account Tax Rules settings.","type":"object","properties":{"Name":{"type":"string","description":"Internal account tax name."},"PublicId":{"type":"string","description":"Public tax ID (displayed on invoices)."},"Rate":{"type":"number","description":"Tax rate value."}}},"SalesTaxInfo":{"type":"object","description":"Describe taxes applied to this invoice item","properties":{"Amount":{"type":"number","description":"total gross amount including all taxes"},"CalculatedTax1":{"type":"number","description":"tax 1 amount"},"CalculatedTax2":{"type":"number","description":"tax 2 amount"},"NetAmount":{"type":"number","description":"net amount from invoice items"},"RoundedAmount":{"type":"number","description":"rounded total amount including all taxes"},"Tax1":{"allOf":[{"$ref":"#/definitions/SalesTax"},{"description":"applied Tax 1 description"}]},"Tax2":{"allOf":[{"$ref":"#/definitions/SalesTax"},{"description":"applied Tax 2 description"}]}}},"Tender":{"allOf":[{"$ref":"#/definitions/LinkedResourceWithName"},{"type":"object","properties":{"DisplayPosition":{"type":"integer","description":"Display position in UI."},"IsCustom":{"type":"boolean","description":"Indicates that this tender is created by account admin, otherwise the tender is built-in."}}}]},"TendersResponse":{"type":"array","items":{"$ref":"#/definitions/Tender"},"description":"Collection of tenders."},"UpdateInvoiceParams":{"allOf":[{"$ref":"#/definitions/EditInvoiceParams"},{"properties":{"Id":{"type":"integer","description":"Identifier of the invoice to update"}}}]},"UpdatePaymentParams":{"allOf":[{"$ref":"#/definitions/FinanceDocument"},{"type":"object","properties":{"Tender":{"$ref":"#/definitions/LinkedResourceWithName"},"Comment":{"type":"string","description":"Internal note on payment. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on payment. Visible to both administrators and payors."},"AllocatedValue":{"type":"number","format":"float","description":"Total amount allocated to another finance documents (invoices or refunds)."},"Type":{"$ref":"#/definitions/PaymentType"}}}]},"UpdateRefundParams":{"allOf":[{"$ref":"#/definitions/FinanceDocument"},{"type":"object","properties":{"Tender":{"$ref":"#/definitions/LinkedResourceWithName"},"Comment":{"type":"string","description":"Internal note on refund. Visible to administrators only."},"PublicComment":{"type":"string","description":"Comment on refund. Visible to both administrators and person being refunded."},"SettledValue":{"type":"number","format":"float","description":"The previously settled amount of the payment."}}}]},"Order":{"type":"object","required":["contactId","total","subTotal","isTaxesApplied","isTaxesIncludedTotal","status","paymentStatus"],"properties":{"url":{"type":"string"},"contactId":{"type":"integer","format":"int32"},"number":{"type":"string"},"total":{"type":"number","format":"decimal"},"subTotal":{"type":"number","format":"decimal"},"isTaxesApplied":{"type":"boolean"},"isTaxesIncludedTotal":{"type":"boolean"},"invoiceId":{"type":"integer","format":"int32"},"invoiceNumber":{"type":"integer","format":"int32"},"status":{"$ref":"#/definitions/OrderStatus"},"paymentStatus":{"$ref":"#/definitions/PaymentStatus"},"internalNote":{"$ref":"#/definitions/OrderInternalNote"},"products":{"type":"array","items":{"$ref":"#/definitions/OrderProduct"}},"shippingAddress":{"$ref":"#/definitions/ShippingAddress"},"billingPerson":{"$ref":"#/definitions/BillingPerson"},"comment":{"type":"string"},"externalNote":{"$ref":"#/definitions/OrderExternalNote"},"currency":{"$ref":"#/definitions/Currency"},"created":{"type":"string","format":"date-time"},"deliveryOption":{"$ref":"#/definitions/OrderDeliveryOption"}}},"OrderStatus":{"type":"string","description":"","x-enumNames":["Unfulfilled","Fulfilled","Cancelled"],"enum":["UNFULFILLED","FULFILLED","CANCELLED"]},"PaymentStatus":{"type":"string","description":"","x-enumNames":["Unpaid","Paid","PartiallyPaid","NoInvoice","Free"],"enum":["UNPAID","PAID","PARTIALLYPAID","NOINVOICE","FREE"]},"OrderInternalNote":{"type":"object","properties":{"text":{"type":"string"}}},"OrderProduct":{"type":"object","required":["price","amount","productId","quantity","productType"],"properties":{"title":{"type":"string"},"price":{"type":"number","format":"decimal"},"amount":{"type":"number","format":"decimal"},"productId":{"type":"integer","format":"int32"},"variantId":{"type":"integer","format":"int32"},"quantity":{"type":"integer","format":"int32"},"productType":{"$ref":"#/definitions/OrderProductType"},"digitalProduct":{"$ref":"#/definitions/OrderDigitalProduct"}}},"OrderProductType":{"type":"string","description":"","x-enumNames":["Physical","Digital"],"enum":["PHYSICAL","DIGITAL"]},"OrderDigitalProduct":{"type":"object","properties":{"url":{"type":"string"},"code":{"type":"string"},"emailNote":{"type":"string"}}},"ShippingAddress":{"type":"object","properties":{"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"country":{"$ref":"#/definitions/Country"},"province":{"type":"string"},"city":{"type":"string"},"zip":{"type":"string"}}},"Country":{"type":"object","required":["allowedPaymentMethods"],"properties":{"name":{"type":"string"},"codeAlpha2":{"type":"string"},"codeAlpha3":{"type":"string"},"codeNumeric":{"type":"integer","format":"int32"},"allowedPaymentMethods":{"type":"integer","format":"int32"}}},"BillingPerson":{"type":"object","required":["contactId"],"properties":{"contactId":{"type":"integer","format":"int32"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"displayName":{"type":"string"},"phone":{"type":"string"}}},"OrderExternalNote":{"type":"object","properties":{"text":{"type":"string"}}},"OrderDeliveryOption":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/definitions/DeliveryType"},"title":{"type":"string"},"description":{"type":"string"},"price":{"type":"number","format":"decimal"}}},"DeliveryType":{"type":"string","description":"","x-enumNames":["Shipping","Pickup"],"enum":["SHIPPING","PICKUP"]},"OrderSetStatusResult":{"type":"object","properties":{"isCustomerNotified":{"type":"boolean"}}},"OrderFulfilment":{"type":"object","required":["status"],"properties":{"status":{"$ref":"#/definitions/OrderStatus"}}},"Product":{"type":"object","required":["id","status","type","trackInventory","stock","outOfStock","totalStock"],"properties":{"url":{"type":"string"},"id":{"type":"integer","format":"int32"},"title":{"type":"string"},"description":{"type":"string"},"price":{"$ref":"#/definitions/Price"},"status":{"$ref":"#/definitions/ProductStatus"},"type":{"$ref":"#/definitions/ProductType"},"pictures":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"trackInventory":{"type":"boolean"},"stock":{"type":"integer","format":"int32"},"productOptions":{"type":"array","items":{"$ref":"#/definitions/ProductOption"}},"productVariants":{"type":"array","items":{"$ref":"#/definitions/ProductVariant"}},"outOfStock":{"type":"boolean"},"totalStock":{"type":"integer","format":"int32"},"digitalProduct":{"$ref":"#/definitions/DigitalProduct"},"created":{"type":"string","format":"date-time"}}},"Price":{"type":"object","required":["regular"],"properties":{"regular":{"type":"number","format":"decimal"},"members":{"type":"number","format":"decimal"}}},"ProductStatus":{"type":"string","description":"","x-enumNames":["AdminOnly","Public"],"enum":["ADMINONLY","PUBLIC"]},"ProductType":{"type":"string","description":"","x-enumNames":["Physical","Digital"],"enum":["PHYSICAL","DIGITAL"]},"ProductOption":{"type":"object","properties":{"title":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}},"ProductVariant":{"type":"object","required":["id","stock","outOfStock","trackInventory"],"properties":{"id":{"type":"integer","format":"int32"},"productVariantOptionValues":{"type":"array","items":{"$ref":"#/definitions/ProductVariantOptionValue"}},"stock":{"type":"integer","format":"int32"},"outOfStock":{"type":"boolean"},"trackInventory":{"type":"boolean"}}},"ProductVariantOptionValue":{"type":"object","properties":{"title":{"type":"string"},"value":{"type":"string"}}},"DigitalProduct":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/definitions/DigitalProductType"},"productFile":{"$ref":"#/definitions/ProductFile"},"productLink":{"$ref":"#/definitions/ProductLink"},"emailNote":{"type":"string"}}},"DigitalProductType":{"type":"string","description":"","x-enumNames":["File","Link"],"enum":["FILE","LINK"]},"ProductFile":{"type":"object","properties":{"name":{"type":"string"}}},"ProductLink":{"type":"object","properties":{"url":{"type":"string"},"code":{"type":"string"}}},"PagingSettings":{"type":"object","properties":{"skip":{"type":"integer","format":"int32"},"top":{"type":"integer","format":"int32"}}}},"parameters":{"accountId":{"name":"accountId","in":"path","description":"Your account identifier","required":true,"type":"number","format":"integer"},"AllocateInvoiceParams":{"name":"AllocateInvoiceParams","schema":{"$ref":"#/definitions/AllocateInvoiceParams"},"in":"body","required":true},"AttachmentDataParams":{"name":"model","schema":{"$ref":"#/definitions/AttachmentDataList"},"in":"body","required":true},"CloneEvent":{"name":"CloneEvent","schema":{"$ref":"#/definitions/CloneEvent"},"in":"body","required":true},"DocumentParam":{"name":"DocumentParam","schema":{"$ref":"#/definitions/DocumentParam"},"in":"body","required":true},"emailDraftId":{"name":"emailDraftId","schema":{"$ref":"#/definitions/emailDraftId"},"in":"body","required":true},"EmailRecipientsParams":{"name":"EmailRecipientsParams","schema":{"$ref":"#/definitions/EmailRecipientsParams"},"in":"body","required":true},"pagingSkip":{"name":"$skip","in":"query","required":false,"type":"integer","description":"\n'Specifies the number of records to skip (not include in a result set). For example if you expect about 300 records in result set and want to get them in small portions, you could make do so with 3 calls:'\n- ...&$top=100 - will return records from 0 to 99 - ...?$skip=100&top=100' - will return records from 100 to 199 - ...?$skip=200' - will return records from 199 to the end\n"},"pagingTop":{"name":"$top","in":"query","description":"this parameter specifies the maximum number of entries to be returned","required":false,"type":"integer"},"RefundParam":{"name":"RefundParam","schema":{"$ref":"#/definitions/RefundParam"},"in":"body","required":true},"EmailScheduleParams":{"name":"EmailScheduleParams","schema":{"$ref":"#/definitions/EmailScheduleParams"},"in":"body","required":true},"SendDraftParams":{"name":"SendDraft","schema":{"$ref":"#/definitions/SendDraftParams"},"in":"body","required":true},"SendEmailParams":{"name":"sendEmailParams","schema":{"$ref":"#/definitions/SendEmailParams"},"in":"body","required":true},"ThumbnailSize":{"name":"size","in":"query","type":"string","enum":["Original","Small","Medium","Medium1","Large"]}}}