openapi: 3.0.3 info: title: WildApricot Admin API description: The WildApricot Admin API provides programmatic access to membership management features including contacts, events, event registrations, membership levels, invoices, payments, donations, email campaigns, and store orders. Authentication uses OAuth2 with client credentials or authorization code flow. version: 7.24.0 contact: name: WildApricot Support url: https://gethelp.wildapricot.com/ license: name: Proprietary x-generated-from: documentation servers: - url: https://api.wildapricot.org/v2.2 description: WildApricot Admin API v2.2 tags: - name: Accounts description: Account management operations - name: Contacts description: Contact/member management - name: Events description: Event and registration management - name: Membership description: Membership levels, groups and bundles - name: Payments description: Invoices, payments, refunds and donations - name: Email description: Email drafts and sending - name: Store description: Store orders and products - name: Audit description: Audit log operations paths: /: get: operationId: GetApiResources summary: WildApricot 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. tags: - Accounts responses: '200': description: Array of resources content: application/json: schema: type: array items: $ref: '#/components/schemas/Resource' security: - OAuth2: - auto /accounts: get: operationId: GetAccountsList summary: WildApricot 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 content: application/json: schema: type: array items: $ref: '#/components/schemas/Account' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}: get: operationId: GetAccount summary: WildApricot Details for Specific Account description: "Details for specific account\n" tags: - Accounts parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Account details content: application/json: schema: $ref: '#/components/schemas/Account' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/contacts: get: operationId: GetContactsList summary: WildApricot 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" tags: - Contacts parameters: - name: '' in: query required: false description: '' schema: type: string - name: $async in: query required: false description: "\nControls whether the API call is perform asynchronously. Default value if true.\n" schema: type: boolean - name: resultId in: query required: false 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" schema: type: string - name: $filter in: query required: false 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" schema: type: string - name: $select in: query required: false 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" schema: type: string - name: $sort in: query required: false 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" schema: type: string - name: simpleQuery in: query required: false 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" schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: $count in: query required: false 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" schema: type: boolean - name: idsOnly in: query required: false description: "\nWhen idsOnly specified, the API returns only a list of identifiers matching criteria.\n" schema: type: boolean responses: '200': description: A wrapper object, which contains a list of contacts, contact identifiers, contacts count or information about asynchronous search request. content: application/json: schema: $ref: '#/components/schemas/ContactsResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateContact summary: WildApricot Create a New Contact or Member Record description: '' tags: - Contacts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateContactParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Returns created contact record. content: application/json: schema: $ref: '#/components/schemas/contactExtendedMembershipInfo' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/contacts/me: get: operationId: GetCurrentContactInfo summary: WildApricot Retrieve Information About Current Contact description: '' tags: - Contacts parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: information about current contact content: application/json: schema: $ref: '#/components/schemas/ContactsMe' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/contacts/{contactId}: get: operationId: GetContactDetails summary: WildApricot Retrieve Information About Specific Member or Contact description: '' tags: - Contacts parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: path required: true description: Unique contact identifier schema: type: integer - name: getExtendedMembershipInfo in: query required: false description: "\nWhen GetExtendedMembershipInfo specified the API returns the information about membership order status, membership invoice and allowed actions for current member status.\n" schema: type: boolean responses: '200': description: information about specific member or contact content: application/json: schema: $ref: '#/components/schemas/contactExtendedMembershipInfo' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateContactDetails summary: WildApricot 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" tags: - Contacts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateContactParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: path required: true description: Unique contact identifier schema: type: integer responses: '200': description: "Updated version of contact information.\n" content: application/json: schema: $ref: '#/components/schemas/contactExtendedMembershipInfo' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteContact summary: WildApricot Delete an Archived Contact description: Delete an archived contact tags: - Contacts parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: path required: true description: Unique contact identifier schema: type: integer responses: '200': description: OK '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/AcceptTermsOfUse: post: operationId: AcceptTermsOfUse summary: WildApricot Accepts Terms of Use. description: "Accepts Wild Apricot Terms of Use for currently loged in user. Does nothing if accepted already.\n" tags: - Contacts parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/contactfields: get: operationId: GetContactFieldDefinitions summary: WildApricot 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" tags: - Contacts.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: showSectionDividers in: query required: false description: Default value is false. Specifies whether section dividers also should be included in the response. schema: type: boolean responses: '200': description: An array of contact field descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactFieldDescription' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateContactFieldDefinition summary: WildApricot Creates a New Contact / Membership Field description: '' tags: - Contacts.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateContactFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created field identifier content: application/json: schema: type: integer '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/contactfields/{contactFieldId}: put: operationId: UpdateContactFieldDefinition summary: WildApricot Updates an Existing Contact / Membership Field description: 'Limitations: field type cannot be changed; contact field cannot be transformed to membership field or vice versa' tags: - Contacts.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateContactFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactFieldId in: path required: true description: contact field identifier schema: type: integer responses: '200': description: return true if field was updated successfully content: application/json: schema: type: boolean '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteContactFieldDefinition summary: WildApricot Removes Existing Field by Id description: removes existing field by id tags: - Contacts.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactFieldId in: path required: true description: contact field identifier schema: type: integer responses: '200': description: return true if field was removed successfully content: application/json: schema: type: boolean '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/savedsearches: get: operationId: GetSavedSearchesList summary: WildApricot List of Saved Searches. description: '' tags: - Contacts.SavedSearch parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: An array of saved search descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/SavedSearchListItem' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/savedsearches/{savedSearchId}: get: operationId: GetSavedSearchDetails summary: WildApricot Saved Search and Found Contacts. description: '' tags: - Contacts.SavedSearch parameters: - name: '' in: query required: false description: '' schema: type: string - name: savedSearchId in: path required: true description: Saved Search identifier schema: type: integer - name: excludeArchived in: query required: false description: exclude archived contacts from found ContactIDs. schema: type: boolean - name: $filter in: query required: false 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" schema: type: string responses: '200': description: Saved Search description and found contact IDs content: application/json: schema: $ref: '#/components/schemas/SavedSearch' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/pictures/{pictureId}: get: operationId: GetPictureContent summary: WildApricot Download Picture description: Picture available for specific account. tags: - Pictures parameters: - name: '' in: query required: false description: '' schema: type: string - name: pictureId in: path required: true description: Picture identifier schema: type: string - name: fullSize in: query required: false description: Full size picture will be returned. If full size picture does not exist, thumbnail will be returned. schema: type: boolean - name: asBase64 in: query required: false description: Base64 encoded image will be returned. schema: type: boolean responses: '200': description: Response is common HttpResponseMessage with content set to picture binary data. content: application/json: schema: type: file '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/pictures: post: operationId: UploadPicture summary: WildApricot 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" tags: - Pictures parameters: - name: '' in: query required: false description: '' schema: type: string - name: picture0 in: formData required: true description: The uploaded picture0 data schema: type: file - name: picture1 in: formData required: false description: The uploaded picture1 data schema: type: file responses: '200': description: Response is simple json object which contains picture guids (see example) content: application/json: schema: type: object properties: picture0: type: string example: cldyhbc3.jpeg description: Picture guid picture1: type: string example: kxdtilz4.jpeg description: Picture guid '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/attachments/{attachmentId}: get: operationId: GetAttachmentContent summary: WildApricot Download Attachment description: Attachment, available for specific account. tags: - Attachments parameters: - name: '' in: query required: false description: '' schema: type: string - name: attachmentId in: path required: true description: Attachment identifier schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: asBase64 in: query required: false description: Base64 encoded image will be returned. schema: type: boolean responses: '200': description: Response is common HttpResponseMessage with content set to attachment binary data. content: application/json: schema: type: file '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/attachments/GetInfos: get: operationId: GetAttachmentInfos summary: WildApricot Get Attachments Infos description: Attachment infos, available for specific account. tags: - Attachments parameters: - name: '' in: query required: false description: '' schema: type: string - name: attachmentIds in: query required: true description: list of comma separated Attachment identifiers schema: type: string responses: '200': description: An array of attachment descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/FileInfo' '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/attachments/Upload: post: operationId: UploadAttachments summary: WildApricot 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" tags: - Attachments parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: An array of attachment descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/FileInfo' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/membershiplevels: get: operationId: GetMembershipLevelsList summary: WildApricot Get List of All Membership Levels. description: '' tags: - Membership.Levels parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of membership levels. content: application/json: schema: type: array items: $ref: '#/components/schemas/MembershipLevel' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/membershiplevels/{levelId}: get: operationId: GetMembershipLevelDetails summary: WildApricot Retrieve Information About Specific Membership Level description: '' tags: - Membership.Levels parameters: - name: '' in: query required: false description: '' schema: type: string - name: levelId in: path required: true description: Unique membership level identifier schema: type: integer responses: '200': description: information about specific membership level content: application/json: schema: $ref: '#/components/schemas/MembershipLevel' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/bundles: get: operationId: GetMembershipBundlesList summary: WildApricot Get List of Membership Bundles. description: '' tags: - Membership.Bundles parameters: - name: '' in: query required: false description: '' schema: type: string - name: levelId in: query required: false description: Provide this parameter to get only bundles related to specific membership level. schema: type: integer responses: '200': description: List of bundles matching query parameters. content: application/json: schema: type: array items: $ref: '#/components/schemas/Bundle' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/bundles/{bundleId}: get: operationId: GetMembershipBundle summary: WildApricot Get Membership Bundle Details. description: '' tags: - Membership.Bundles parameters: - name: '' in: query required: false description: '' schema: type: string - name: bundleId in: path required: true description: Unique bundle identifier schema: type: integer responses: '200': description: Bundle description. content: application/json: schema: $ref: '#/components/schemas/Bundle' '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/membergroups: get: operationId: GetMembershipGroups summary: WildApricot List of Ad Hoc Member Groups. description: '' tags: - Membership.Groups parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: An array of member group descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/MembershipGroupListItem' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/membergroups/{memberGroupId}: get: operationId: GetMembershipGroupDetails summary: WildApricot Ad Hoc Member Group. description: '' tags: - Membership.Groups parameters: - name: '' in: query required: false description: '' schema: type: string - name: memberGroupId in: path required: true description: member group identifier schema: type: integer - name: includeArchivedMembers in: query required: false description: include archived contacts in ContactIds list. Default - true. schema: type: boolean responses: '200': description: member group description content: application/json: schema: $ref: '#/components/schemas/MembershipGroup' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/ApprovePendingMembership: post: operationId: ApprovePendingMembership summary: WildApricot 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" tags: - Membership.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: true description: Contact ID to approve membership schema: type: integer responses: '200': description: OK '401': description: '' '400': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/RejectPendingMembership: post: operationId: RejectPendingMembership summary: WildApricot 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" tags: - Membership.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: true description: Contact ID to reject membership schema: type: integer responses: '200': description: OK '401': description: '' '400': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/events: get: operationId: GetEventsList summary: WildApricot Events List description: '' tags: - Events parameters: - name: '' in: query required: false description: '' schema: type: string - name: $async in: query required: false description: "\nControls whether the API call is perform asynchronously. Default value if true.\n" schema: type: boolean - name: resultId in: query required: false 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" schema: type: string - name: $filter in: query required: false 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" schema: type: string - name: $sort in: query required: false 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" schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: $count in: query required: false 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" schema: type: boolean - name: idsOnly in: query required: false description: "\nWhen idsOnly specified, the API returns only a list of identifiers matching criteria.\n" schema: type: boolean responses: '200': description: A wrapper object, which contains a list of events, event identifiers or events count. content: application/json: schema: $ref: '#/components/schemas/EventsResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateEvent summary: WildApricot Create a New Event Record description: '' tags: - Events requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventEditParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Returns created event record id content: application/json: schema: type: number '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/events/{eventId}: get: operationId: GetEventDetails summary: WildApricot Retrieve Information About Specific Event description: '' tags: - Events parameters: - name: '' in: query required: false description: '' schema: type: string - name: eventId in: path required: true description: Unique event identifier schema: type: integer responses: '200': description: information about specific event content: application/json: schema: $ref: '#/components/schemas/Event' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateEvent summary: WildApricot Update Information About Existing Event description: '' tags: - Events requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventEditParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: eventId in: path required: true description: Unique event identifier schema: type: integer responses: '200': description: "Updated version of event information.\n" content: application/json: schema: $ref: boolean '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteEvent summary: WildApricot Completely Delete Event from System. description: Completely delete event from system. tags: - Events parameters: - name: '' in: query required: false description: '' schema: type: string - name: eventId in: path required: true description: Unique event identifier schema: type: integer responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/CloneEvent: post: operationId: CloneEvent summary: WildApricot Clone Existed Event. description: '' tags: - Events parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created event id content: application/json: schema: type: integer '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /accounts/{accountId}/EventRegistrationTypes: get: operationId: getEventRegistrationTypesList summary: WildApricot Event Registration Types List description: '' tags: - Events.EventRegistrationTypes parameters: - name: '' in: query required: false description: '' schema: type: string - name: eventId in: query required: true description: event identifier schema: type: integer responses: '200': description: List of event registration types content: application/json: schema: $ref: '#/components/schemas/EventRegistrationTypeResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateEventRegistrationType summary: WildApricot Creates a New Event Registration Type. description: '' tags: - Events.EventRegistrationTypes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventRegistrationTypeEditParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Created event registration type ID content: application/json: schema: type: integer '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/EventRegistrationTypes/{typeId}: get: operationId: GetEventRegistrationTypeDetails summary: WildApricot Event Registration Type Details description: '' tags: - Events.EventRegistrationTypes parameters: - name: '' in: query required: false description: '' schema: type: string - name: typeId in: path required: true description: Unique event registration type identifier schema: type: number responses: '200': description: Information about specific event registration type content: application/json: schema: $ref: '#/components/schemas/EventRegistrationType' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateEventRegistrationType summary: WildApricot Update Information About Existing Event Registration Type description: '' tags: - Events.EventRegistrationTypes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventRegistrationTypeEditParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: typeId in: path required: true description: Unique event registration type identifier schema: type: number responses: '200': description: No information returned on successful update '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteEventRegistrationType summary: WildApricot Completely Delete Event Registration Type from the System. description: Completely delete event registration type from the system. tags: - Events.EventRegistrationTypes parameters: - name: '' in: query required: false description: '' schema: type: string - name: typeId in: path required: true description: Unique event registration type identifier schema: type: integer responses: '200': description: OK '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/eventregistrations: get: operationId: GetEventRegistrationsList summary: WildApricot 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" tags: - Events.EventRegistrations parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: false description: contact identifier schema: type: integer - name: eventId in: query required: false description: event identifier schema: type: integer - name: $filter in: query required: false 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" schema: type: string - name: includeDetails in: query required: false description: If false, registration form data is not retrieved schema: type: boolean - name: includeWaitlist in: query required: false description: Defines if waitlist records should be included in result schema: type: boolean responses: '200': description: List of event registrations content: application/json: schema: $ref: '#/components/schemas/EventRegistrationsResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateEventRegistration summary: WildApricot Creates a New Event Registration. description: '' tags: - Events.EventRegistrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventRegistrationPost' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Event registration created content: application/json: schema: $ref: '#/components/schemas/EventRegistration' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/eventregistrations/{event_registration_id}: get: operationId: GetEventRegistrationDetails summary: WildApricot Event Registration Details description: '' tags: - Events.EventRegistrations parameters: - name: '' in: query required: false description: '' schema: type: string - name: event_registration_id in: path required: true description: event registration identifier schema: type: number responses: '200': description: List of Event Registrations content: application/json: schema: $ref: '#/components/schemas/EventRegistration' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteEventRegistration summary: WildApricot Event Registration description: '' tags: - Events.EventRegistrations parameters: - name: '' in: query required: false description: '' schema: type: string - name: event_registration_id in: path required: true description: event registration identifier schema: type: number responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateEventRegistration summary: WildApricot Update Event Registration. description: '' tags: - Events.EventRegistrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventRegistrationPut' parameters: - name: '' in: query required: false description: '' schema: type: string - name: event_registration_id in: path required: true description: event registration identifier schema: type: number responses: '200': description: Event registration created content: application/json: schema: $ref: '#/components/schemas/EventRegistration' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/CheckInEventAttendee: post: operationId: CheckInEventAttendee summary: WildApricot Mark Event Attendee as Checked-in (or Remove Check-in Flag). description: '' tags: - Events.EventRegistrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckInParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '400': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/RegisterFromWaitlist: post: operationId: RegisterFromWaitlist summary: WildApricot Add Waitlisted Person as Event Attendee description: '' tags: - Events.EventRegistrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RegisterFromWaitlistParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Event registration created content: application/json: schema: $ref: '#/components/schemas/EventRegistration' '401': description: '' '400': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/invoices: get: operationId: GetInvoicesList summary: WildApricot 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" tags: - Finances.Invoices parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: false description: Identifier of contact to whom the invoice is assigned. schema: type: integer - name: eventId in: query required: false description: Identifier of event. When specified API returns collection of invoices associated with event registrations for the event. schema: type: integer - name: eventRegistrationId in: query required: false description: Identifier of event registration. When specified API returns invoice related to the registration. Usually a single invoice. schema: type: integer - name: unpaidOnly in: query required: false description: When set to true, API returns only unpaid invoices. schema: type: boolean - name: paidOnly in: query required: false description: When set to true, API returns only paid invoices. schema: type: boolean - name: includeVoided in: query required: false description: When set to true, API also returns voided invoices. schema: type: boolean - name: idsOnly in: query required: false description: When set to true, API returns only collection of identifiers instead of collection of invoices. schema: type: boolean - name: StartDate in: query required: false description: Limits result to invoices created since StartDate. schema: type: string - name: EndDate in: query required: false description: Limits result to invoices created before EndDate. schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of invoices that match criteria. content: application/json: schema: $ref: '#/components/schemas/InvoicesResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateInvoice summary: WildApricot Creates a New Invoice. description: '' tags: - Finances.Invoices requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateInvoiceParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Created invoice ID content: application/json: schema: type: integer '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/invoices/{invoiceId}: get: operationId: GetInvoiceDetails summary: WildApricot Retrieve Information About Specific Invoice description: '' tags: - Finances.Invoices parameters: - name: '' in: query required: false description: '' schema: type: string - name: invoiceId in: path required: true description: Unique invoice identifier schema: type: integer responses: '200': description: information about specific invoice content: application/json: schema: $ref: '#/components/schemas/Invoice' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateInvoice summary: WildApricot Update Existing Invoice Information description: '' tags: - Finances.Invoices requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateInvoiceParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: invoiceId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful data update '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteInvoice summary: WildApricot Delete Existing Invoice description: '' tags: - Finances.Invoices parameters: - name: '' in: query required: false description: '' schema: type: string - name: invoiceId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful invoice deletion '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/GenerateInvoiceForPendingMembership: post: operationId: GenerateInvoiceForPendingMembership summary: WildApricot 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" tags: - Membership.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: true description: Contact ID with pending membership schema: type: integer - name: updateIfExists in: query required: false description: update the invoice items if already exists schema: type: boolean responses: '200': description: OK '401': description: '' '400': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/GenerateInvoiceForEventRegistration: post: operationId: GenerateInvoiceForEventRegistration summary: WildApricot Generate or Update Invoice for Existing Event Registration. description: '' tags: - Finances.Invoices parameters: - name: '' in: query required: false description: '' schema: type: string - name: eventRegistrationId in: query required: true description: Event registration ID with pending membership schema: type: integer - name: updateIfExists in: query required: false description: If set to true and invoice already exists, API will update the invoice items. schema: type: boolean responses: '200': description: created or updated invoice content: application/json: schema: $ref: '#/components/schemas/Invoice' '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/VoidInvoice: post: operationId: VoidInvoice summary: WildApricot Void Active Invoice. description: See https://gethelp.wildapricot.com/en/articles/76#voiding for details on invoice voiding tags: - Finances.Invoices parameters: - name: '' in: query required: false description: '' schema: type: string - name: invoiceId in: query required: true description: invoiceId ID to void schema: type: integer responses: '200': description: OK '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /accounts/{accountId}/payments: get: operationId: GetPaymentsList summary: WildApricot Get List of Payments by Criteria. description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: false description: Identifier of contact who made the payment. schema: type: integer - name: eventId in: query required: false description: Identifier of event. When specified API returns collection of payments settled to invoices associated with event registrations for the event. schema: type: integer - name: idsOnly in: query required: false description: When set to true, API returns only collection of identifiers instead of collection of payments. schema: type: boolean - name: StartDate in: query required: false description: Limits result to payments created since StartDate. schema: type: string - name: EndDate in: query required: false description: Limits result to payments created before EndDate. schema: type: string - name: paimentType in: query required: false description: Limits result to payment type. schema: type: string - name: unsettledOnly in: query required: false description: When set to true, API returns only unsettled payments. schema: type: boolean - name: ids in: query required: false description: You can filter the payments by specifying a set of payment IDs. schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of payments that match criteria. content: application/json: schema: $ref: '#/components/schemas/PaymentsResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreatePayment summary: WildApricot Creates a New Payment. description: '' tags: - Finances.Payments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreatePaymentModel' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Payment created content: application/json: schema: $ref: '#/components/schemas/Payment' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{paymentId}: get: operationId: GetPaymentDetails summary: WildApricot Retrieve Information About Specific Payment description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: Unique payment identifier schema: type: integer responses: '200': description: information about specific payment content: application/json: schema: $ref: '#/components/schemas/Payment' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdatePayment summary: WildApricot Update Existing Payment Information description: '' tags: - Finances.Payments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePaymentParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful data update '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeletePayment summary: WildApricot Delete Existing Payment description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful payment deletion '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{paymentId}/AllocateInvoice: post: operationId: AllocateInvoice summary: WildApricot Allocate Invoice to Specific Payment description: After this operation invoice will be marked as paid. tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: Unique payment identifier schema: type: integer - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{paymentId}/AllocateRefundToPayment: post: operationId: AllocateRefundToPayment summary: WildApricot Allocate Refund to Specific Payment description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: Unique payment identifier schema: type: integer - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{donationId}/AllocateRefundToDonation: post: operationId: AllocateRefundToDonation summary: WildApricot Allocate Refund to Specific Donation description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationId in: path required: true description: Unique donation identifier schema: type: integer - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{paymentId}/UnallocateFromPayment: post: operationId: UnallocateFinanceDocumentFromPayment summary: WildApricot Unallocate Finance Document from Specific Payment description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: paymentId in: path required: true description: Unique payment identifier schema: type: integer - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/payments/{donationId}/UnallocateFromDonation: post: operationId: UnallocateFinanceDocumentFromDonation summary: WildApricot Unallocate Finance Document from Specific Donation description: '' tags: - Finances.Payments parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationId in: path required: true description: Unique donation identifier schema: type: integer - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/paymentAllocations: get: operationId: GetPaymentAllocationsList summary: WildApricot Get List Describing How Payments Are Allocated Among Invoices. description: At least one parameter InvoiceId or PaymentId or RefundId should be specified. tags: - Finances.PaymentAllocations parameters: - name: '' in: query required: false description: '' schema: type: string - name: InvoiceId in: query required: false description: Identifier of invoice. schema: type: integer - name: PaymentId in: query required: false description: Identifier of payment. schema: type: integer - name: RefundId in: query required: false description: Identifier of refund. schema: type: integer responses: '200': description: Collection of allocations. content: application/json: schema: $ref: '#/components/schemas/PaymentAllocation' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/refunds: get: operationId: GetRefundsList summary: WildApricot Get List of Refunds by Criteria. description: '' tags: - Finances.Refunds parameters: - name: '' in: query required: false description: '' schema: type: string - name: contactId in: query required: false description: Identifier of contact to whom the refund was made. schema: type: integer - name: eventId in: query required: false description: Identifier of event. When specified API returns collection of refunds settled to invoices associated with event registrations for the event. schema: type: integer - name: idsOnly in: query required: false description: When set to true, API returns only collection of identifiers instead of collection of refunds. schema: type: boolean - name: StartDate in: query required: false description: Limits result to refunds created since StartDate. schema: type: string - name: EndDate in: query required: false description: Limits result to refunds created before EndDate. schema: type: string - name: unsettledOnly in: query required: false description: When set to true, API returns only unsettled refunds. schema: type: boolean - name: ids in: query required: false description: You can filter the refunds by specifying a set of refund IDs. schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of refunds that match criteria. content: application/json: schema: $ref: '#/components/schemas/RefundsResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateRefund summary: WildApricot Creates a New Refund. description: '' tags: - Finances.Refunds requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateRefundParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Refund created content: application/json: schema: $ref: '#/components/schemas/Refund' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/refunds/{refundId}: get: operationId: GetRefundDetails summary: WildApricot Retrieve Information About Specific Refund description: '' tags: - Finances.Refunds parameters: - name: '' in: query required: false description: '' schema: type: string - name: refundId in: path required: true description: Unique refund identifier schema: type: integer responses: '200': description: information about specific refund content: application/json: schema: $ref: '#/components/schemas/Refund' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateRefund summary: WildApricot Update Existing Refund Information description: '' tags: - Finances.Refunds requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateRefundParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: refundId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful data update '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteRefund summary: WildApricot Delete Existing Refund description: '' tags: - Finances.Refunds parameters: - name: '' in: query required: false description: '' schema: type: string - name: refundId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful refund deletion '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/tenders: get: operationId: GetTendersList summary: WildApricot Get List of Tenders. description: '' tags: - Finances.Tenders parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of tenders. content: application/json: schema: $ref: '#/components/schemas/TendersResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: CreateTender summary: WildApricot Creates a New Tender. description: '' tags: - Finances.Tenders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Tender' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Tenderscreated content: application/json: schema: $ref: '#/components/schemas/Tender' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/tenders/{tenderId}: get: operationId: GetTenderDetails summary: WildApricot Retrieve Information About Specific Tender description: '' tags: - Finances.Tenders parameters: - name: '' in: query required: false description: '' schema: type: string - name: tenderId in: path required: true description: Unique tender identifier schema: type: integer responses: '200': description: information about specific tender content: application/json: schema: $ref: '#/components/schemas/Tender' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateTender summary: WildApricot Update Existing Tender Information description: '' tags: - Finances.Tenders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Tender' parameters: - name: '' in: query required: false description: '' schema: type: string - name: tenderId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful data update '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteTender summary: WildApricot Delete Existing Tender description: '' tags: - Finances.Tenders parameters: - name: '' in: query required: false description: '' schema: type: string - name: tenderId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful tender deletion '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/auditLogItems: get: operationId: GetAuditLogItems summary: WildApricot 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" tags: - Finances.AuditLog parameters: - name: '' in: query required: false description: '' schema: type: string - name: filterObjectType in: query required: false description: Kind of object for audit log filter schema: type: string - name: FilterObjectId in: query required: false description: Unique identifyer of type filterObjectType schema: type: integer - name: StartDate in: query required: false description: Limits result to log items created since StartDate. schema: type: string - name: EndDate in: query required: false description: Limits result to log items created before EndDate. schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: An array of audit log item descriptions content: application/json: schema: $ref: '#/components/schemas/AuditItemsListResult' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/auditLogItems/{itemId}: get: operationId: GetAuditLogItem summary: WildApricot Single Audit Log Item. description: '' tags: - Finances.AuditLog parameters: - name: '' in: query required: false description: '' schema: type: string - name: itemId in: path required: true description: Audit log item identifier schema: type: integer responses: '200': description: Audit log item description content: application/json: schema: $ref: '#/components/schemas/AuditLogItem' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/donationfields: get: operationId: '' summary: WildApricot 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" tags: - Donation.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: showSectionDividers in: query required: false description: Default value is false. Specifies whether section dividers also should be presented in the response. schema: type: boolean responses: '200': description: An array of donation field descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityFieldDescription' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: '' summary: WildApricot Creates a New Donation Field description: '' tags: - Donation.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateEntityFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created field identifier content: application/json: schema: type: integer '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/donationfields/{donationFieldId}: put: operationId: '' summary: WildApricot Updates an Existing Donation Field description: 'Limitations: field type can not be changed' tags: - Donation.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditEntityFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationFieldId in: path required: true description: donation field identifier schema: type: integer responses: '200': description: return true if field was updated successfully content: application/json: schema: type: boolean '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: '' summary: WildApricot Removes Existing Field by Id description: removes existing field by id tags: - Donation.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationFieldId in: path required: true description: donation field identifier schema: type: integer responses: '200': description: return true if field was removed successfully content: application/json: schema: type: boolean '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/donations: get: operationId: GetDonationsList summary: WildApricot Get List of Donations by Criteria. description: '' tags: - Finances.Donations parameters: - name: '' in: query required: false description: '' schema: type: string - name: StartDate in: query required: false description: Limits result to donations created since StartDate. schema: type: string - name: EndDate in: query required: false description: Limits result to donations created before EndDate. schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: Collection of donations that match criteria. content: application/json: schema: $ref: '#/components/schemas/DonationListResponse' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/donations/{donationId}: get: operationId: GetDonationDetails summary: WildApricot Retrieve Information About Specific Donation description: '' tags: - Finances.Donations parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationId in: path required: true description: Unique donation identifier schema: type: integer responses: '200': description: information about specific donation content: application/json: schema: $ref: '#/components/schemas/Donation' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto put: operationId: UpdateDonation summary: WildApricot Update Existing Donation Information description: '' tags: - Finances.Donations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Donation' parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationId in: path required: true description: '' schema: type: integer responses: '200': description: Returns 200 on successful data update '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/SentEmails: get: operationId: GetSentEmailsLog summary: WildApricot Sent Emails description: Sent emails tags: - Emailing.SentEmails parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: idsOnly in: query required: false description: "To get only a list of email identifiers as a result of search request.\n" schema: type: boolean - name: $filter in: query required: false 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" schema: type: string responses: '200': description: Contains a list of sent emails or list of identifiers, depending on idsOnly parameter value. content: application/json: schema: $ref: '#/components/schemas/EmailLog' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/SentEmails/{emailId}: get: operationId: GetSentEmailDetails summary: WildApricot Sent Email Details description: Sent email details tags: - Emailing.SentEmails parameters: - name: '' in: query required: false description: '' schema: type: string - name: emailId in: path required: true description: Email unique Id schema: type: integer responses: '200': description: Email details content: application/json: schema: $ref: '#/components/schemas/EmailLogRecord' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/EmailDrafts: get: operationId: GetEmailDraftsList summary: WildApricot Email Drafts description: Email drafts tags: - Emailing.Drafts parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: idsOnly in: query required: false description: "Should be set to true in order to get only a list of email identifiers as a result of search request.\n" schema: type: boolean - name: $filter in: query required: false 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" schema: type: string responses: '200': description: A wrapper object, which contains a list of sent emails. also contains EmailDraftIdentifiersResult if idsOnly parameter is true content: application/json: schema: $ref: '#/components/schemas/EmailDraftListResult' '401': description: '' '428': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/EmailDrafts/{draftId}: get: operationId: GetEmailDraft summary: WildApricot Email Draft Details description: Email draft details tags: - Emailing.Drafts parameters: - name: '' in: query required: false description: '' schema: type: string - name: draftId in: path required: true description: Email draft Id schema: type: integer responses: '200': description: Email draft content: application/json: schema: $ref: '#/components/schemas/EmailDraft' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: DeleteEmailDraft summary: WildApricot Delete Email Draft description: Delete email draft tags: - Emailing.Drafts parameters: - name: '' in: query required: false description: '' schema: type: string - name: draftId in: path required: true description: Email draft Id schema: type: integer responses: '200': description: OK '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/SentEmailRecipients: get: operationId: SentEmailRecipientList summary: WildApricot Sent Email Recipients description: Sent email recipients tags: - Emailing.SentEmailRecipients parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string - name: emailId in: query required: true description: sent email Id (from email Log) schema: type: integer - name: LoadLinks in: query required: false description: load clicked links information schema: type: boolean - name: Delivered in: query required: false description: load delivered or not delivered only schema: type: boolean - name: Opened in: query required: false description: load opened or not opened only schema: type: boolean responses: '200': description: Contains a list of sent email recipients. content: application/json: schema: $ref: '#/components/schemas/SentEmailRecipientsRecords' '401': description: '' '429': description: '' security: - OAuth2: - auto /rpc/{accountId}/email/SetEmailDraftSchedule: post: operationId: SetEmailDraftSchedule summary: WildApricot Pause or Resume Scheduled Draft. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/GetEmailDraftPreview: post: operationId: GetEmailDraftPreview summary: WildApricot Get Preview Version of Email. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: email preview subject and body content: application/json: schema: $ref: '#/components/schemas/EmailDraftPreview' '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/SendEmailDraft: post: operationId: SendEmailDraft summary: WildApricot Send Draft. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created sent email id content: application/json: schema: type: integer '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/SendEmail: post: operationId: SendEmail summary: WildApricot Send Draft. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created sent email id content: application/json: schema: type: integer '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/CountUniqueAddressesForEmailRecipients: post: operationId: GetUniqueEmailRecipientsCount summary: WildApricot Get Count of Real Email Recipients (unique Addresses). description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK content: application/json: schema: type: integer '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/CountUniqueAddressesForEmailDraft: post: operationId: GetUniqueEmailRecipientsCountForDraft summary: WildApricot Get Count of Real Email Recipients (unique Addresses). description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK content: application/json: schema: type: integer '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/GetUniqueAddressesForEmailRecipients: post: operationId: GetUniqueAddressesForEmailRecipients summary: WildApricot Get Unique Addresses of Real Email Recipients. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailRecipients' '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /rpc/{accountId}/email/GetUniqueAddressesForEmailDraft: post: operationId: GetUniqueAddressesForEmailDraft summary: WildApricot Get Unique Addresses of Real Email Recipients. description: '' tags: - Emailing.Operations parameters: - name: '' in: query required: false description: '' schema: type: string - name: '' in: query required: false description: '' schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailRecipients' '400': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - OAuth2: - auto /accounts/{accountId}/store/orders/{orderNumber}: get: operationId: OnlineStoreOrders_GetByNumber summary: WildApricot GET /accounts/{accountId}/store/orders/{orderNumber} description: '' tags: - OnlineStore.Orders parameters: - name: '' in: query required: false description: '' schema: type: string - name: orderNumber in: path required: true description: Order number schema: type: string responses: '200': description: '' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/store/orders: get: operationId: OnlineStoreOrders_GetList summary: WildApricot GET /accounts/{accountId}/store/orders description: '' tags: - OnlineStore.Orders parameters: - name: '' in: query required: false description: '' schema: type: string - name: $skip in: query required: false 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" schema: type: integer - name: $top in: query required: false description: this parameter specifies the maximum number of entries to be returned schema: type: integer - name: status in: query required: false description: Order status schema: type: string - name: paymentStatus in: query required: false description: Invoice status schema: type: string - name: From in: query required: false description: Start date of the range schema: type: string - name: To in: query required: false description: End of the range schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/store/orders/{orderNumber}/status: put: operationId: OnlineStoreOrdersOperations_SetOrderStatus summary: WildApricot PUT /accounts/{accountId}/store/orders/{orderNumber}/status description: '' tags: - OnlineStore.Orders.Operations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderFulfilment' parameters: - name: '' in: query required: false description: '' schema: type: string - name: orderNumber in: path required: true description: '' schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OrderSetStatusResult' security: - OAuth2: - auto /accounts/{accountId}/store/products/{id}: get: operationId: OnlineStoreProducts_GetById summary: WildApricot GET /accounts/{accountId}/store/products/{id} description: '' tags: - OnlineStore.Products parameters: - name: '' in: query required: false description: '' schema: type: string - name: id in: path required: true description: '' schema: type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Product' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/store/products: get: operationId: OnlineStoreProducts_GetList summary: WildApricot GET /accounts/{accountId}/store/products description: '' tags: - OnlineStore.Products parameters: - name: '' in: query required: false description: '' schema: type: string - name: $skip in: query required: false description: '' schema: type: integer - name: $top in: query required: false description: '' schema: type: integer responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/features/{featureId}: get: operationId: GetFeatureAvailability summary: WildApricot 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" tags: - Internal.Features parameters: - name: '' in: query required: false description: '' schema: type: string - name: featureId in: path required: true description: feature identifier schema: type: integer responses: '200': description: Feature availability status. content: application/json: schema: $ref: '#/components/schemas/Feature' security: - OAuth2: - auto components: securitySchemes: OAuth2: type: oauth2 description: OAuth2 authentication for WildApricot API flows: clientCredentials: tokenUrl: https://oauth.wildapricot.org/auth/token scopes: auto: Full API access schemas: 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: '#/components/schemas/ResourceUrl' PrimaryDomainName: type: string description: The primary domain name for the account. IsFreeAccount: type: boolean Resources: type: array items: $ref: '#/components/schemas/Resource' description: Collection of account-related resources. ContactLimitInfo: $ref: '#/components/schemas/ContactLimitInfo' TimeZone: $ref: '#/components/schemas/TimeZone' Currency: $ref: '#/components/schemas/Currency' Localization: $ref: '#/components/schemas/Localization' SquareRegisterSettings: $ref: '#/components/schemas/SquareRegisterSettings' PaymentSettings: $ref: '#/components/schemas/PaymentSettings' BillingPlan: $ref: '#/components/schemas/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: '#/components/schemas/EntityFieldDescription' - type: object required: - FieldType properties: FieldType: $ref: '#/components/schemas/CustomFieldType' EditEntityFieldParams: allOf: - $ref: '#/components/schemas/EntityFieldDescription' - type: object required: - FieldType properties: FieldType: $ref: '#/components/schemas/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: '#/components/schemas/OptionsListItem' Order: type: integer description: Sorting order to display the field in UI RulesAndTermsInfo: $ref: '#/components/schemas/RulesAndTermsInfo' EntityFieldDescriptionWithExtraCharge: allOf: - $ref: '#/components/schemas/EditEntityFieldParams' - type: object required: - FieldType properties: ExtraCharge: $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' - type: object properties: Name: type: string description: Resource name Resource: type: object required: - Name - Url - AllowedOperations properties: Url: $ref: '#/components/schemas/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: '#/components/schemas/AttachmentData' Bundle: type: object properties: Id: type: integer description: Unique bundle identifier. Url: $ref: '#/components/schemas/ResourceUrl' Email: type: string description: Email of bundle administrator. ParticipantsCount: type: integer description: The number of members in the bundle. Administrator: allOf: - $ref: '#/components/schemas/LinkedResource' - description: Link to bundle administrator. MembershipLevel: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' description: Collection of links to members of the bundle. Contact: type: object properties: Id: type: integer description: Unique contact identifier. Url: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/ContactFieldValue' contactExtendedMembershipInfo: type: object properties: Id: type: integer description: Unique contact identifier. Url: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EntityFieldDescriptionWithExtraCharge' - type: object - required: - Id - Type - Access - AdminOnly - MemberOnly - properties: Id: type: integer description: Unique field identifier. Access: $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' MemberAccess: $ref: '#/components/schemas/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: '#/components/schemas/RulesAndTermsInfo' RenewalPolicy: $ref: '#/components/schemas/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: '#/components/schemas/CustomFieldType' ContactFieldValue: allOf: - $ref: '#/components/schemas/FieldValue' - type: object properties: CustomAccessLevel: $ref: '#/components/schemas/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: '#/components/schemas/Contact' description: List of contacts that match request criteria. ContactsMe: type: object properties: Id: type: integer description: Contact unique identifier. Url: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/ContactsAsyncResponse' - $ref: '#/components/schemas/ContactIdsResponse' - $ref: '#/components/schemas/ContactsCountResponse' - $ref: '#/components/schemas/ContactsListResponse' CreateContactFieldParams: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/OptionsListItem' RulesAndTermsInfo: $ref: '#/components/schemas/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: '#/components/schemas/MemberFieldAccess' RenewalPolicy: $ref: '#/components/schemas/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: '#/components/schemas/ExtraCharge' ExtendedMembershipInfo: type: object description: 'Readonly object ' properties: PendingMembershipOrderStatusType: type: string enum: - Invisible - PendingNoCorrespondingInvoice - PendingNotPaidYet - InvoicePaidManualApprovalRequired - FreeOrderManualApprovalRequired - InvoiceNotPaidButOperationApproved - MultipleInvoiceNotPaidMemberActivated - MultipleInvoiceNotPaidMemberPending PendingMembershipInvoice: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/LinkedResource' description: Member can switch from current level to one of levels from this list. RenewalPeriod: $ref: '#/components/schemas/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: '#/components/schemas/SavedSearchListItem' - type: object properties: ContactIds: type: array items: type: integer description: Contact IDs found by Saved Search. UpdateContactFieldParams: allOf: - $ref: '#/components/schemas/EditContactFieldParams' - type: object properties: Id: type: integer description: Unique identifier of existing field. UpdateContactParams: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/ResourceUrl' CreatedDate: type: string format: datetime description: Date and time when the draft was created. Type: $ref: '#/components/schemas/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: '#/components/schemas/ShortContact' IsLinkTrackingAllowed: type: boolean description: Indicates if email tracking is enabled for this email. Recipients: $ref: '#/components/schemas/EmailRecipients' LastChangedDate: type: string format: datetime description: Date and time when the draft was last modified. Modifier: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EmailLogRecords' - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EmailType' IsTrackingAllowed: type: boolean IsCopySentToAdmins: type: boolean SenderId: type: integer SenderName: type: string SendingType: $ref: '#/components/schemas/InitializationSourceType' Origin: $ref: '#/components/schemas/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: '#/components/schemas/EmailRecipient' description: only if email has a single recipient EmailLogRecords: type: object properties: Emails: type: array items: $ref: '#/components/schemas/EmailLogRecord' description: "Collection of email log records.\n" EmailOrigin: type: object properties: OriginType: $ref: '#/components/schemas/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: '#/components/schemas/EmailRecipient' EmailRecipientsParams: type: object title: EmailRecipientsParams description: list of email recipient groups properties: Recipients: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/ClickedLink' SentEmailRecipientsRecords: type: object properties: Recipients: type: array items: $ref: '#/components/schemas/SentEmailRecipient' description: Collection of email recipients. ShortContact: type: object properties: Id: type: integer description: Unique contact identifier. Url: $ref: '#/components/schemas/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: '#/components/schemas/ResourceUrl' Event: $ref: '#/components/schemas/EventStub' Contact: $ref: '#/components/schemas/LinkedResourceWithName' RegistrationType: $ref: '#/components/schemas/LinkedResourceWithName' RegistrationTypeId: type: integer description: Unique identifier of event registration type GuestRegistrationsSummary: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/LinkedResource' Status: $ref: '#/components/schemas/EventRegistrationStatus' EventRegistrationPost: type: object required: - Event - Contact - RegistrationTypeId properties: Id: type: integer description: Unique identifier of event registration Url: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EventDetailsEditParams' Sessions: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/TimeZone' AccessControl: $ref: '#/components/schemas/EventAccessControl' GuestRegistrationSettings: $ref: '#/components/schemas/EventGuestRegistrationSettings' Organizer: properties: Id: type: integer description: Link to contact, who is set as organizer for this event. PaymentMethod: $ref: '#/components/schemas/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: '#/components/schemas/EventWaitlistSettings' MultipleRegistrationAllowed: type: boolean description: Indicates if it is allowed to have multiple registrations for the same contact. AttendeesDisplaySettings: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EventAccessLevel' Tags: type: array items: type: string description: A collection of tags associated with the event. Details: $ref: '#/components/schemas/EventDetails' Sessions: type: array items: $ref: '#/components/schemas/EventSesssion' description: Collection of event sessions. Exist in multisessions events only. RegistrationsLimit: type: integer description: Maximum number of registrations for this event. InviteeStat: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/TimeZone' RegistrationTypes: type: array items: $ref: '#/components/schemas/EventRegistrationType' description: Collection of configured registration types for the event. EventRegistrationFields: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/EventAccessControl' GuestRegistrationSettings: $ref: '#/components/schemas/EventGuestRegistrationSettings' Organizer: allOf: - $ref: '#/components/schemas/LinkedResource' - description: Link to contact who is designated as organizer for this event. PaymentMethod: $ref: '#/components/schemas/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: '#/components/schemas/EventWaitlistSettings' MultipleRegistrationAllowed: type: boolean description: Indicates if multiple registrations are allowed for the same contact. AttendeesDisplaySettings: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EventGuestRegistrationPolicy' UnavailabilityPolicy: $ref: '#/components/schemas/EventRegistrationUnavailabilityPolicy' CancellationBehaviour: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EventGuestRegistrationPolicy' UnavailabilityPolicy: $ref: '#/components/schemas/EventRegistrationUnavailabilityPolicy' CancellationBehaviour: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/EventIdsResponse' - $ref: '#/components/schemas/EventsListResponse' - $ref: '#/components/schemas/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: '#/components/schemas/AuditLogItem' description: List of audit log items that match request criteria. AuditLogItem: type: object properties: Id: type: integer description: Unique identifier. Url: $ref: '#/components/schemas/ResourceUrl' Timestamp: type: string format: date description: Item creation date. Contact: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/ResourceUrl' Value: type: number format: float DocumentDate: type: string format: date description: Document date. Contact: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' - description: Link to contact who created the document. Could be null. CreateInvoiceParams: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' description: If not null or empty then invoices with these IDs will be settled to new payment. Contact: allOf: - $ref: '#/components/schemas/LinkedResource' - description: Link to contact who made the payment. Tender: $ref: '#/components/schemas/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: '#/components/schemas/PaymentType' CreateRefundParams: allOf: - $ref: '#/components/schemas/CreateFinanceDocument' - type: object properties: Tender: $ref: '#/components/schemas/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: '#/components/schemas/LinkedResource' - description: Link to contact who is assigned to the donation. Payment: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/FieldValue' DonationListResponse: type: object properties: Payments: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/InvoiceOrderType' OrderDetails: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/ResourceUrl' Value: type: number format: float DocumentDate: type: string format: date description: Document date. Contact: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/LinkedResource' - description: Link to contact who modified the document. Could be null. Invoice: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/InvoiceOrderType' EventRegistration: allOf: - $ref: '#/components/schemas/LinkedResource' - description: Link to related event registration or null. OrderDetails: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/InvoiceIdsResponse' - $ref: '#/components/schemas/InvoiceListResponse' OrderDetailRecord: type: object properties: Value: type: number format: float description: Sum to pay for this item. Can be negative (discounts). OrderDetailType: $ref: '#/components/schemas/OrderDetailType' Notes: type: string description: Comment to order detail Taxes: $ref: '#/components/schemas/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: '#/components/schemas/FinanceDocument' - type: object properties: Tender: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/LinkedResource' - description: Link to related invoice. InvoiceDate: type: string format: date description: Invoice date InvoiceNumber: type: string description: Invoice number. Payment: allOf: - $ref: '#/components/schemas/LinkedResource' - description: Link to related payment. PaymentDate: type: string format: date description: Payment date PaymentType: $ref: '#/components/schemas/PaymentType' Refund: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/Payment' description: List of payments that match request criteria. PaymentsResponse: allOf: - $ref: '#/components/schemas/PaymentIdsResponse' - $ref: '#/components/schemas/PaymentListResponse' PaymentType: type: string enum: - Unknown - InvoicePayment - DonationPayment description: Payment type. Refund: allOf: - $ref: '#/components/schemas/FinanceDocument' - type: object properties: Tender: $ref: '#/components/schemas/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: '#/components/schemas/Refund' description: List of refunds that match request criteria. RefundParam: type: object properties: RefundId: type: integer description: Unique refund identifier. RefundsResponse: allOf: - $ref: '#/components/schemas/RefundIdsResponse' - $ref: '#/components/schemas/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: '#/components/schemas/SalesTax' - description: applied Tax 1 description Tax2: allOf: - $ref: '#/components/schemas/SalesTax' - description: applied Tax 2 description Tender: allOf: - $ref: '#/components/schemas/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: '#/components/schemas/Tender' description: Collection of tenders. UpdateInvoiceParams: allOf: - $ref: '#/components/schemas/EditInvoiceParams' - properties: Id: type: integer description: Identifier of the invoice to update UpdatePaymentParams: allOf: - $ref: '#/components/schemas/FinanceDocument' - type: object properties: Tender: $ref: '#/components/schemas/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: '#/components/schemas/PaymentType' UpdateRefundParams: allOf: - $ref: '#/components/schemas/FinanceDocument' - type: object properties: Tender: $ref: '#/components/schemas/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: '#/components/schemas/OrderStatus' paymentStatus: $ref: '#/components/schemas/PaymentStatus' internalNote: $ref: '#/components/schemas/OrderInternalNote' products: type: array items: $ref: '#/components/schemas/OrderProduct' shippingAddress: $ref: '#/components/schemas/ShippingAddress' billingPerson: $ref: '#/components/schemas/BillingPerson' comment: type: string externalNote: $ref: '#/components/schemas/OrderExternalNote' currency: $ref: '#/components/schemas/Currency' created: type: string format: date-time deliveryOption: $ref: '#/components/schemas/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: '#/components/schemas/OrderProductType' digitalProduct: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/Price' status: $ref: '#/components/schemas/ProductStatus' type: $ref: '#/components/schemas/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: '#/components/schemas/ProductOption' productVariants: type: array items: $ref: '#/components/schemas/ProductVariant' outOfStock: type: boolean totalStock: type: integer format: int32 digitalProduct: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/DigitalProductType' productFile: $ref: '#/components/schemas/ProductFile' productLink: $ref: '#/components/schemas/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