---
canonical_url: "https://docs.composio.dev/toolkits/wild_apricot"
markdown_url: "https://docs.composio.dev/toolkits/wild_apricot.md"
product: "platform"
version: null
last_updated: null
---

# WildApricot

WildApricot is an association management platform for administering contacts, memberships, events, finances, email, and online stores.

- **Category:** crm
- **Auth:** S2S_OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `WILD_APRICOT`
- **Version:** 00000000_00

## Tools

### Create Contact

**Slug:** `WILD_APRICOT_CREATE_CONTACT`

Create a WildApricot contact or member using an API key configured with Full access; a successful connection or list_accounts metadata does not prove write access. Supply membership_level_id and membership_enabled only for a member record. Setting recreate_invoice=true can also create a membership invoice; delete_contact removes the contact but may not reverse that invoice side effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address for the new contact or member. |
| `status` | string ("Active" | "Lapsed" | "PendingNew" | "PendingRenewal" | "PendingUpgrade") | No | Membership status when creating a member record. |
| `last_name` | string | No | Contact's last name. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. The API key must be configured with Full access; list_accounts metadata does not prove write access. |
| `first_name` | string | No | Contact's first name. |
| `organization` | string | No | Organization associated with the contact. |
| `recreate_invoice` | boolean | No | Whether WildApricot should recreate the related membership invoice as a side effect. Leave false for ordinary contacts; enable only when creating a member with membership fields and an invoice is intended. |
| `membership_enabled` | boolean | No | Whether membership is enabled for this record. |
| `membership_level_id` | integer | No | Membership level ID from list_membership_levels when creating a member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `WILD_APRICOT_DELETE_CONTACT`

Permanently delete one WildApricot contact or member by ID using an API key configured with Full access; a successful connection or list_accounts metadata does not prove write access. Use only for a known record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. The API key must be configured with Full access; list_accounts metadata does not prove write access. |
| `contact_id` | integer | Yes | Unique ID of the contact to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `WILD_APRICOT_GET_CONTACT`

Get one WildApricot contact or member by ID, optionally including pending membership order, invoice, and allowed-action metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |
| `contact_id` | integer | Yes | Unique contact ID from search_contacts or create_contact. |
| `include_extended_membership_info` | boolean | No | Whether to include pending membership order, invoice, and allowed-action metadata. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Event

**Slug:** `WILD_APRICOT_GET_EVENT`

Get full details for one WildApricot event by ID, including schedule, location, access, and registration settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | Yes | Unique event ID from search_events or an event registration. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Accounts

**Slug:** `WILD_APRICOT_LIST_ACCOUNTS`

List WildApricot accounts available to this connection, including account IDs, plan indicators, contact limits, and provider-advertised resource operations. Use this first to discover an account_id, but do not treat allowed operations as proof that the API key has Full access for writes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contact Fields

**Slug:** `WILD_APRICOT_LIST_CONTACT_FIELDS`

List contact and membership field definitions, including field names, types, and search/edit metadata used to construct contact filters and field-selection requests. Selection does not guarantee that WildApricot will omit other contact fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |
| `include_section_dividers` | boolean | No | Whether to include visual section-divider definitions in the result. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Event Registrations

**Slug:** `WILD_APRICOT_LIST_EVENT_REGISTRATIONS`

List event registrations for a required contact_id, event_id, or set of registration_ids, optionally including form details or waitlist entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | No | Return registrations for this event ID. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |
| `contact_id` | integer | No | Return registrations for this contact ID. |
| `include_details` | boolean | No | Whether to include registration form data, which may contain personal information. Defaults to false for privacy. |
| `include_waitlist` | boolean | No | Whether to include waitlist records. |
| `registration_ids` | array | No | Return only these registration IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Membership Levels

**Slug:** `WILD_APRICOT_LIST_MEMBERSHIP_LEVELS`

Return one page of membership levels, optionally restricted to specific IDs, with fees, application eligibility, type, and renewal metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum membership levels to return in this page (1-100). |
| `cursor` | string | No | Non-negative offset cursor returned by a previous list_membership_levels call. Omit for the first page. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |
| `membership_level_ids` | array | No | Membership level IDs to return; omit to list all levels. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Contacts

**Slug:** `WILD_APRICOT_SEARCH_CONTACTS`

Return one synchronous page of contacts matching a simple text search or WildApricot filter. Use list_contact_fields to discover valid field names for filter and select expressions; select is only a request and may not prevent WildApricot from returning additional personal fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("Name asc" | "Name desc" | "MemberSince asc" | "MemberSince desc") | No | Contact ordering by Name or MemberSince, ascending or descending. |
| `limit` | integer | No | Maximum contacts to return in this page (1-100). |
| `query` | string | No | Text matched against first name, last name, organization, email, or phone. |
| `cursor` | string | No | Non-negative offset cursor returned by a previous search_contacts call. Omit for the first page. |
| `filter` | string | No | WildApricot contact filter expression. Verified forms include `Archived eq false` and `Id in [1,3,5]`. Use provider field names from list_contact_fields; quote string values with single quotes. For simple name, email, organization, or phone matching, prefer query. |
| `select` | string | No | Comma-separated contact field names to request; use list_contact_fields to discover valid names. WildApricot may still return additional fields, so do not rely on select to exclude personal data. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Events

**Slug:** `WILD_APRICOT_SEARCH_EVENTS`

Return one synchronous page of events matching a validated WildApricot event filter, ordered by event start date or session start.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("ByStartDate asc" | "ByStartDate desc" | "ByStartSession asc") | No | Event ordering by start date or upcoming session start. |
| `limit` | integer | No | Maximum events to return in this page (1-100). |
| `cursor` | string | No | Non-negative offset cursor returned by a previous search_events call. Omit for the first page. |
| `filter` | string | No | One WildApricot event filter expression. Accepted templates: `Id in [1,2]`; `RegistrationEnabled eq true`; `IsUpcoming ne false`; `StartDate ge 2026-01-01` or the same comparison for EndDate; `Tags in ['public','featured']`; `Name eq 'Annual Meeting'`; and `substringof('meeting', Name)` or TextIndex. Boolean operators are eq/ne; date operators are eq/ne/gt/ge/lt/le; quote names and tags with single quotes. Only one expression is accepted per call. |
| `account_id` | integer | Yes | WildApricot account ID from list_accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
