WildApricot website screenshot

WildApricot

WildApricot is a cloud-based membership management software platform designed for associations, nonprofits, and clubs. It provides tools for managing members, events, email communications, online payments, and websites. The WildApricot Admin API provides programmatic access to all platform features including contacts, events, event registrations, membership levels, invoices, payments, donations, email campaigns, and store orders via a REST API secured with OAuth2.

1 APIs 8 Features
Membership ManagementAssociationsNonprofitEventsPayments

APIs

WildApricot Admin API

The WildApricot Admin API provides programmatic access to membership management features including contacts, events, event registrations, membership levels, invoices, payments, ...

Collections

Pricing Plans

Rate Limits

Wildapricot Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Contact Management

Comprehensive member and contact database with custom fields, saved searches, and OData filtering.

Event Management

Full event lifecycle management including registration types, waitlists, check-in, and capacity management.

Membership Levels

Configurable membership tiers with pricing, renewal periods, access restrictions, and bundle support.

Online Payments

Integrated payment processing for membership fees, event registrations, donations, and store orders.

Email Campaigns

Built-in email campaign tool with draft management, recipient targeting, scheduling, and delivery tracking.

Donation Management

Track and manage charitable donations with custom fields and donor contact linking.

Member Portal

Self-service member portal for profile management, event registration, and membership renewals.

Store

Simple online store for merchandise and product sales with order management.

Use Cases

Member Onboarding Automation

Automate new member welcome workflows by monitoring contact creation events and sending personalized onboarding sequences.

Event Registration Sync

Sync WildApricot event registrations to CRM or marketing platforms for post-event follow-up campaigns.

Membership Renewal Reminders

Query lapsed and soon-to-expire members to trigger renewal reminder emails or SMS notifications.

Financial Reporting

Extract invoice, payment, and donation data to build financial dashboards and audit reports.

Badge and Check-In Systems

Use the event check-in API to power custom badge printing or door access control at events.

Directory Integrations

Push member data to external directories, websites, or LDAP systems using the contacts API.

Semantic Vocabularies

Wildapricot Context

10 classes · 101 properties

JSON-LD

API Governance Rules

WildApricot API Rules

26 rules · 11 errors 11 warnings 4 info

SPECTRAL

JSON Structure

Wildapricot Account Structure

13 properties

JSON STRUCTURE

Wildapricot Audit Log Item Structure

15 properties

JSON STRUCTURE

Wildapricot Bundle Structure

8 properties

JSON STRUCTURE

Wildapricot Contact Structure

14 properties

JSON STRUCTURE

Wildapricot Donation Structure

13 properties

JSON STRUCTURE

Wildapricot Email Draft Structure

16 properties

JSON STRUCTURE

Wildapricot Event Registration Type Structure

21 properties

JSON STRUCTURE

Wildapricot Event Registration Structure

22 properties

JSON STRUCTURE

Wildapricot Event Structure

20 properties

JSON STRUCTURE

Wildapricot Invoice Structure

0 properties

JSON STRUCTURE

Wildapricot Membership Level Structure

9 properties

JSON STRUCTURE

Wildapricot Order Structure

20 properties

JSON STRUCTURE

Wildapricot Payment Structure

0 properties

JSON STRUCTURE

Example Payloads

Wildapricot Account Example

13 fields

EXAMPLE

Wildapricot Bundle Example

8 fields

EXAMPLE

Wildapricot Contact Example

14 fields

EXAMPLE

Wildapricot Donation Example

13 fields

EXAMPLE

Wildapricot Event Example

20 fields

EXAMPLE

Wildapricot Order Example

20 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
🔗
RateLimits
RateLimits
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: WildApricot Admin API
  version: 7.24.0
items:
- info:
    name: Accounts
    type: folder
  items:
  - info:
      name: WildApricot Base URL for Specific API Version.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 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.
  - info:
      name: WildApricot List of Available Accounts
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'List of accounts available with current oAuth token. Typicaly here would be only one record in an array

      '
  - info:
      name: WildApricot Details for Specific Account
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Details for specific account

      '
- info:
    name: Contacts
    type: folder
  items:
  - info:
      name: WildApricot Contacts List
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts
      params:
      - name: $async
        value: ''
        type: query
        description: '

          Controls whether the API call is perform asynchronously. Default value if true.

          '
      - name: resultId
        value: ''
        type: query
        description: '

          This 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.

          '
      - name: $filter
        value: ''
        type: query
        description: '

          Filters the results of the Contacts API call so that only those records that match the filter criteria are included.

          See [Filtering the results](http://gethelp.wildapricot.com/en/articles/502#filtering) for details.

          '
      - name: $select
        value: ''
        type: query
        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.

          '
      - name: $sort
        value: ''
        type: query
        description: '

          Ordering expression. There are 2 sorting options - **Name** and  **MemberSince**. And also 2 direction modifiers
          - **asc** and **desc**.

          ---

          Example of valid expression - MemberSince asc

          '
      - name: simpleQuery
        value: ''
        type: query
        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"
      - name: $count
        value: ''
        type: query
        description: '

          Specifies that the result should contain only a total number of records matching criteria. Requests with specified
          $count parameter are always processed as synchronous.

          '
      - name: idsOnly
        value: ''
        type: query
        description: '

          When idsOnly specified, the API returns only a list of identifiers matching criteria.

          '
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: "\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"
  - info:
      name: WildApricot Create a New Contact or Member Record
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Create a New Contact or Member Record
  - info:
      name: WildApricot Retrieve Information About Current Contact
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts/me
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Retrieve Information About Current Contact
  - info:
      name: WildApricot Retrieve Information About Specific Member or Contact
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts/:contactId
      params:
      - name: contactId
        value: ''
        type: path
        description: Unique contact identifier
      - name: getExtendedMembershipInfo
        value: ''
        type: query
        description: '

          When GetExtendedMembershipInfo specified the API returns the information about membership order status, membership
          invoice and allowed actions for current member status.

          '
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Retrieve Information About Specific Member or Contact
  - info:
      name: WildApricot Update Information About Existing Member or Contact
      type: http
    http:
      method: PUT
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts/:contactId
      params:
      - name: contactId
        value: ''
        type: path
        description: Unique contact identifier
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: '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.

      '
  - info:
      name: WildApricot Delete an Archived Contact
      type: http
    http:
      method: DELETE
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contacts/:contactId
      params:
      - name: contactId
        value: ''
        type: path
        description: Unique contact identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete an archived contact
  - info:
      name: WildApricot Accepts Terms of Use.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/rpc/:accountId/AcceptTermsOfUse
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Accepts Wild Apricot Terms of Use for currently loged in user. Does nothing if accepted already.

      '
- info:
    name: Contacts.CustomFields
    type: folder
  items:
  - info:
      name: WildApricot List of Custom Fields Related to Contacts and Members.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contactfields
      params:
      - name: showSectionDividers
        value: ''
        type: query
        description: Default value is false. Specifies whether section dividers also should be included in the response.
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: "\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"
  - info:
      name: WildApricot Creates a New Contact / Membership Field
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contactfields
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Creates a New Contact / Membership Field
  - info:
      name: WildApricot Updates an Existing Contact / Membership Field
      type: http
    http:
      method: PUT
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contactfields/:contactFieldId
      params:
      - name: contactFieldId
        value: ''
        type: path
        description: contact field identifier
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Limitations: field type cannot be changed; contact field cannot be transformed to membership field or vice versa'
  - info:
      name: WildApricot Removes Existing Field by Id
      type: http
    http:
      method: DELETE
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/contactfields/:contactFieldId
      params:
      - name: contactFieldId
        value: ''
        type: path
        description: contact field identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: removes existing field by id
- info:
    name: Contacts.SavedSearch
    type: folder
  items:
  - info:
      name: WildApricot List of Saved Searches.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/savedsearches
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot List of Saved Searches.
  - info:
      name: WildApricot Saved Search and Found Contacts.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/savedsearches/:savedSearchId
      params:
      - name: savedSearchId
        value: ''
        type: path
        description: Saved Search identifier
      - name: excludeArchived
        value: ''
        type: query
        description: exclude archived contacts from found ContactIDs.
      - name: $filter
        value: ''
        type: query
        description: '

          Filters the results of the Contacts API call so that only those records that match the filter criteria are included.

          See [Filtering the results](http://gethelp.wildapricot.com/en/articles/502#filtering) for details.

          '
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Saved Search and Found Contacts.
- info:
    name: Pictures
    type: folder
  items:
  - info:
      name: WildApricot Download Picture
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/pictures/:pictureId
      params:
      - name: pictureId
        value: ''
        type: path
        description: Picture identifier
      - name: fullSize
        value: ''
        type: query
        description: Full size picture will be returned. If full size picture does not exist, thumbnail will be returned.
      - name: asBase64
        value: ''
        type: query
        description: Base64 encoded image will be returned.
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Picture available for specific account.
  - info:
      name: WildApricot Upload Pictures
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/pictures
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 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 pi
- info:
    name: Attachments
    type: folder
  items:
  - info:
      name: WildApricot Download Attachment
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/attachments/:attachmentId
      params:
      - name: attachmentId
        value: ''
        type: path
        description: Attachment identifier
      - name: asBase64
        value: ''
        type: query
        description: Base64 encoded image will be returned.
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Attachment, available for specific account.
  - info:
      name: WildApricot Get Attachments Infos
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/attachments/GetInfos
      params:
      - name: attachmentIds
        value: ''
        type: query
        description: list of comma separated Attachment identifiers
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Attachment infos, available for specific account.
  - info:
      name: WildApricot Upload Attachments
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/attachments/Upload
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: '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.

      '
- info:
    name: Membership.Levels
    type: folder
  items:
  - info:
      name: WildApricot Get List of All Membership Levels.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/membershiplevels
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Get List of All Membership Levels.
  - info:
      name: WildApricot Retrieve Information About Specific Membership Level
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/membershiplevels/:levelId
      params:
      - name: levelId
        value: ''
        type: path
        description: Unique membership level identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Retrieve Information About Specific Membership Level
- info:
    name: Membership.Bundles
    type: folder
  items:
  - info:
      name: WildApricot Get List of Membership Bundles.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/bundles
      params:
      - name: levelId
        value: ''
        type: query
        description: Provide this parameter to get only bundles related to specific membership level.
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Get List of Membership Bundles.
  - info:
      name: WildApricot Get Membership Bundle Details.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/bundles/:bundleId
      params:
      - name: bundleId
        value: ''
        type: path
        description: Unique bundle identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Get Membership Bundle Details.
- info:
    name: Membership.Groups
    type: folder
  items:
  - info:
      name: WildApricot List of Ad Hoc Member Groups.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/membergroups
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot List of Ad Hoc Member Groups.
  - info:
      name: WildApricot Ad Hoc Member Group.
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/membergroups/:memberGroupId
      params:
      - name: memberGroupId
        value: ''
        type: path
        description: member group identifier
      - name: includeArchivedMembers
        value: ''
        type: query
        description: include archived contacts in ContactIds list. Default - true.
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Ad Hoc Member Group.
- info:
    name: Membership.Operations
    type: folder
  items:
  - info:
      name: WildApricot Approve Pending Membership.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/rpc/:accountId/ApprovePendingMembership
      params:
      - name: contactId
        value: ''
        type: query
        description: Contact ID to approve membership
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: '

      Availability 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.

      '
  - info:
      name: WildApricot Reject Pending Membership.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/rpc/:accountId/RejectPendingMembership
      params:
      - name: contactId
        value: ''
        type: query
        description: Contact ID to reject membership
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: '

      Availability 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.

      '
  - info:
      name: WildApricot Generate or Update Invoice for Pending Membership.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/rpc/:accountId/GenerateInvoiceForPendingMembership
      params:
      - name: contactId
        value: ''
        type: query
        description: Contact ID with pending membership
      - name: updateIfExists
        value: ''
        type: query
        description: update the invoice items if already exists
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: '

      Availability 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.

      '
- info:
    name: Events
    type: folder
  items:
  - info:
      name: WildApricot Events List
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/events
      params:
      - name: $async
        value: ''
        type: query
        description: '

          Controls whether the API call is perform asynchronously. Default value if true.

          '
      - name: resultId
        value: ''
        type: query
        description: '

          This 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.

          '
      - name: $filter
        value: ''
        type: query
        description: "\nFilters the results of the Events API call so that only those records that match the filter criteria\
          \ are included.\nThe following filter criterias are supported:\n\n  - Id, Supported operations: in.\n  - RegistrationEnabled,\
          \ Supported operations: eq, ne.\n  - IsUpcoming, Supported operations: eq, ne.\n  - Tags, Supported operations:\
          \ in.\n  - StartDate, Supported operations: eq, ne, gt, ge, lt, le.\n  - EndDate, Supported operations: eq, ne,\
          \ gt, ge, lt, le.\n  - Name, Supported operations: eq, ne, substringof.\n  - TextIndex, Supported operations: substringof.\n"
      - name: $sort
        value: ''
        type: query
        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"
      - name: $count
        value: ''
        type: query
        description: '

          Specifies that result should contain only a total number of records matching criteria. Requests with specified $count
          parameter are always processed as synchronous.

          '
      - name: idsOnly
        value: ''
        type: query
        description: '

          When idsOnly specified, the API returns only a list of identifiers matching criteria.

          '
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Events List
  - info:
      name: WildApricot Create a New Event Record
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/events
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Create a New Event Record
  - info:
      name: WildApricot Retrieve Information About Specific Event
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/events/:eventId
      params:
      - name: eventId
        value: ''
        type: path
        description: Unique event identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Retrieve Information About Specific Event
  - info:
      name: WildApricot Update Information About Existing Event
      type: http
    http:
      method: PUT
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/events/:eventId
      params:
      - name: eventId
        value: ''
        type: path
        description: Unique event identifier
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Update Information About Existing Event
  - info:
      name: WildApricot Completely Delete Event from System.
      type: http
    http:
      method: DELETE
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/events/:eventId
      params:
      - name: eventId
        value: ''
        type: path
        description: Unique event identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Completely delete event from system.
  - info:
      name: WildApricot Clone Existed Event.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/rpc/:accountId/CloneEvent
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Clone Existed Event.
- info:
    name: Events.EventRegistrationTypes
    type: folder
  items:
  - info:
      name: WildApricot Event Registration Types List
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/EventRegistrationTypes
      params:
      - name: eventId
        value: ''
        type: query
        description: event identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Event Registration Types List
  - info:
      name: WildApricot Creates a New Event Registration Type.
      type: http
    http:
      method: POST
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/EventRegistrationTypes
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Creates a New Event Registration Type.
  - info:
      name: WildApricot Event Registration Type Details
      type: http
    http:
      method: GET
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/EventRegistrationTypes/:typeId
      params:
      - name: typeId
        value: ''
        type: path
        description: Unique event registration type identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Event Registration Type Details
  - info:
      name: WildApricot Update Information About Existing Event Registration Type
      type: http
    http:
      method: PUT
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/EventRegistrationTypes/:typeId
      params:
      - name: typeId
        value: ''
        type: path
        description: Unique event registration type identifier
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: WildApricot Update Information About Existing Event Registration Type
  - info:
      name: WildApricot Completely Delete Event Registration Type from the System.
      type: http
    http:
      method: DELETE
      url: https://api.wildapricot.org/v2.2/accounts/:accountId/EventRegistrationTypes/:typeId
      params:
      - name: typeId
        value: ''
        type: path
        description: Unique event registration type identifier
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://oauth.wildapricot.org/auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Completely delete event 

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wildapricot/refs/heads/main/apis.yml