### Accounts API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for retrieving account information, including listing available accounts and getting details for a specific account. ```APIDOC ## GET /accounts ### Description Retrieves a list of available accounts. ### Method GET ### Endpoint /accounts ### Parameters None ### Response #### Success Response (200) - **accounts** (array) - A list of account objects. #### Response Example ```json { "accounts": [ { "id": 12345, "name": "Example Account" } ] } ``` ## GET /accounts/{accountId} ### Description Retrieves details for a specific account. ### Method GET ### Endpoint /accounts/{accountId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account to retrieve. ### Response #### Success Response (200) - **id** (integer) - The account ID. - **name** (string) - The name of the account. #### Response Example ```json { "id": 12345, "name": "Example Account" } ``` ``` -------------------------------- ### Product Catalog API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing products, including their details, pricing, and variants. ```APIDOC ## Product Catalog API This API allows management of products, including their attributes and variants. ### Products #### GET /products **Description**: Retrieves a list of products. **Method**: GET **Endpoint**: /products **Query Parameters**: - **limit** (integer) - Optional - Maximum number of products to return. - **offset** (integer) - Optional - Number of products to skip. - **status** (string) - Optional - Filter products by status (e.g., 'Active', 'Inactive'). #### GET /products/{productId} **Description**: Retrieves a specific product by its ID. **Method**: GET **Endpoint**: /products/{productId} **Path Parameters**: - **productId** (integer) - Required - The ID of the product to retrieve. ### Product Variants #### GET /products/{productId}/variants **Description**: Retrieves a list of variants for a specific product. **Method**: GET **Endpoint**: /products/{productId}/variants **Path Parameters**: - **productId** (integer) - Required - The ID of the product whose variants to retrieve. ``` -------------------------------- ### Finances - Refunds API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing refunds, including retrieval, creation, update, and deletion. ```APIDOC ## GET /accounts/{accountId}/refunds ### Description Get a list of refunds based on specified criteria. ### Method GET ### Endpoint /accounts/{accountId}/refunds ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. ### Response #### Success Response (200) - **refunds** (array) - A list of refund objects. - **id** (string) - The unique identifier for the refund. - **refundDate** (string) - The date the refund was issued. - **amount** (number) - The amount of the refund. - **reason** (string) - The reason for the refund. #### Response Example { "refunds": [ { "id": "ref_xyz", "refundDate": "2023-10-25", "amount": 25.00, "reason": "Duplicate payment" } ] } ## POST /accounts/{accountId}/refunds ### Description Creates a new refund for the account. ### Method POST ### Endpoint /accounts/{accountId}/refunds ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **refundData** (object) - Required - The data for the new refund. - **amount** (number) - Required - The amount of the refund. - **refundDate** (string) - Required - The date the refund is issued. - **reason** (string) - Required - The reason for the refund. - **paymentId** (string) - Optional - The ID of the payment to refund. - **invoiceId** (string) - Optional - The ID of the invoice to refund. - **donationId** (string) - Optional - The ID of the donation to refund. ### Request Example { "refundData": { "amount": 25.00, "refundDate": "2023-10-25", "reason": "Duplicate payment", "paymentId": "pay_abc" } } #### Response Example { "id": "ref_uvw", "refundDate": "2023-10-25", "amount": 25.00, "reason": "Duplicate payment" } ## GET /accounts/{accountId}/refunds/{refundId} ### Description Retrieve detailed information about a specific refund. ### Method GET ### Endpoint /accounts/{accountId}/refunds/{refundId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **refundId** (string) - Required - The unique identifier for the refund. ### Response #### Success Response (200) - **refund** (object) - Detailed information about the refund. - **id** (string) - The unique identifier for the refund. - **refundDate** (string) - The date the refund was issued. - **amount** (number) - The amount of the refund. - **reason** (string) - The reason for the refund. - **status** (string) - The status of the refund (e.g., "Completed", "Pending"). #### Response Example { "refund": { "id": "ref_xyz", "refundDate": "2023-10-25", "amount": 25.00, "reason": "Duplicate payment", "status": "Completed" } } ## PUT /accounts/{accountId}/refunds/{refundId} ### Description Update existing information for a specific refund. ### Method PUT ### Endpoint /accounts/{accountId}/refunds/{refundId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **refundId** (string) - Required - The unique identifier for the refund. #### Request Body - **refundData** (object) - Required - The updated data for the refund. - **refundDate** (string) - Optional - The new date of the refund. - **amount** (number) - Optional - The new refund amount. - **reason** (string) - Optional - The new reason for the refund. ### Request Example { "refundData": { "amount": 30.00 } } #### Response Example { "id": "ref_xyz", "refundDate": "2023-10-25", "amount": 30.00, "reason": "Duplicate payment", "status": "Completed" } ## DELETE /accounts/{accountId}/refunds/{refundId} ### Description Delete a specific refund. ### Method DELETE ### Endpoint /accounts/{accountId}/refunds/{refundId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **refundId** (string) - Required - The unique identifier for the refund. ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the refund was deleted. #### Response Example { "message": "Refund with ID ref_xyz has been deleted." } ``` -------------------------------- ### Membership Bundles API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for retrieving information about membership bundles. ```APIDOC ## GET /accounts/{accountId}/bundles ### Description Retrieves a list of all membership bundles available in an account. ### Method GET ### Endpoint /accounts/{accountId}/bundles ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. ### Response #### Success Response (200) - **bundles** (array) - A list of membership bundle objects. #### Response Example ```json { "bundles": [ { "id": 60, "name": "Annual Bundle" } ] } ``` ## GET /accounts/{accountId}/bundles/{bundleId} ### Description Retrieves detailed information about a specific membership bundle. ### Method GET ### Endpoint /accounts/{accountId}/bundles/{bundleId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **bundleId** (integer) - Required - The ID of the membership bundle. ### Response #### Success Response (200) - **bundle** (object) - The details of the membership bundle. #### Response Example ```json { "bundle": { "id": 61, "name": "Seasonal Discount Bundle", "description": "Discounted bundle for seasonal offers." } } ``` ``` -------------------------------- ### Order Management API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing orders, including their status and details. ```APIDOC ## Order Management API This section covers endpoints for managing orders. ### Orders #### GET /orders **Description**: Retrieves a list of orders. **Method**: GET **Endpoint**: /orders **Query Parameters**: - **limit** (integer) - Optional - Maximum number of orders to return. - **offset** (integer) - Optional - Number of orders to skip. - **status** (string) - Optional - Filter orders by status (e.g., 'Pending', 'Completed'). #### GET /orders/{orderId} **Description**: Retrieves a specific order by its ID. **Method**: GET **Endpoint**: /orders/{orderId} **Path Parameters**: - **orderId** (integer) - Required - The ID of the order to retrieve. #### PUT /orders/{orderId}/status **Description**: Updates the status of a specific order. **Method**: PUT **Endpoint**: /orders/{orderId}/status **Path Parameters**: - **orderId** (integer) - Required - The ID of the order to update. **Request Body**: - **status** (string) - Required - The new status for the order (e.g., 'Shipped', 'Cancelled'). ``` -------------------------------- ### Finances - Tenders API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing tenders, including retrieval, creation, update, and deletion. ```APIDOC ## GET /accounts/{accountId}/tenders ### Description Get a list of tenders. ### Method GET ### Endpoint /accounts/{accountId}/tenders ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. ### Response #### Success Response (200) - **tenders** (array) - A list of tender objects. - **id** (string) - The unique identifier for the tender. - **tenderDate** (string) - The date the tender was made. - **amount** (number) - The amount of the tender. - **method** (string) - The method used for the tender (e.g., "Cash", "Check"). #### Response Example { "tenders": [ { "id": "ten_111", "tenderDate": "2023-10-26", "amount": 75.00, "method": "Cash" } ] } ## POST /accounts/{accountId}/tenders ### Description Creates a new tender for the account. ### Method POST ### Endpoint /accounts/{accountId}/tenders ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **tenderData** (object) - Required - The data for the new tender. - **amount** (number) - Required - The amount of the tender. - **tenderDate** (string) - Required - The date the tender was made. - **method** (string) - Required - The method used for the tender. ### Request Example { "tenderData": { "amount": 75.00, "tenderDate": "2023-10-26", "method": "Cash" } } #### Response Example { "id": "ten_222", "tenderDate": "2023-10-26", "amount": 75.00, "method": "Cash" } ## GET /accounts/{accountId}/tenders/{tenderId} ### Description Retrieve detailed information about a specific tender. ### Method GET ### Endpoint /accounts/{accountId}/tenders/{tenderId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **tenderId** (string) - Required - The unique identifier for the tender. ### Response #### Success Response (200) - **tender** (object) - Detailed information about the tender. - **id** (string) - The unique identifier for the tender. - **tenderDate** (string) - The date the tender was made. - **amount** (number) - The amount of the tender. - **method** (string) - The method used for the tender. #### Response Example { "tender": { "id": "ten_111", "tenderDate": "2023-10-26", "amount": 75.00, "method": "Cash" } } ## PUT /accounts/{accountId}/tenders/{tenderId} ### Description Update existing information for a specific tender. ### Method PUT ### Endpoint /accounts/{accountId}/tenders/{tenderId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **tenderId** (string) - Required - The unique identifier for the tender. #### Request Body - **tenderData** (object) - Required - The updated data ``` -------------------------------- ### Finances - Payments API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing payments, including retrieval, creation, update, deletion, and allocation. ```APIDOC ## GET /accounts/{accountId}/payments ### Description Get a list of payments based on specified criteria. ### Method GET ### Endpoint /accounts/{accountId}/payments ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. ### Response #### Success Response (200) - **payments** (array) - A list of payment objects. - **id** (string) - The unique identifier for the payment. - **paymentDate** (string) - The date the payment was made. - **amount** (number) - The amount of the payment. - **method** (string) - The method used for the payment (e.g., "Credit Card", "Check"). #### Response Example { "payments": [ { "id": "pay_abc", "paymentDate": "2023-10-26", "amount": 50.00, "method": "Credit Card" } ] } ## POST /accounts/{accountId}/payments ### Description Creates a new payment for the account. ### Method POST ### Endpoint /accounts/{accountId}/payments ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **paymentData** (object) - Required - The data for the new payment. - **amount** (number) - Required - The amount of the payment. - **paymentDate** (string) - Required - The date the payment was made. - **method** (string) - Required - The method used for the payment. - **transactionId** (string) - Optional - The transaction ID from the payment gateway. - **invoiceId** (string) - Optional - The ID of the invoice this payment is for. ### Request Example { "paymentData": { "amount": 50.00, "paymentDate": "2023-10-26", "method": "Credit Card", "transactionId": "txn_xyz", "invoiceId": "inv_123" } } #### Response Example { "id": "pay_def", "paymentDate": "2023-10-26", "amount": 50.00, "method": "Credit Card" } ## GET /accounts/{accountId}/payments/{paymentId} ### Description Retrieve detailed information about a specific payment. ### Method GET ### Endpoint /accounts/{accountId}/payments/{paymentId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. ### Response #### Success Response (200) - **payment** (object) - Detailed information about the payment. - **id** (string) - The unique identifier for the payment. - **paymentDate** (string) - The date the payment was made. - **amount** (number) - The amount of the payment. - **method** (string) - The method used for the payment. - **transactionId** (string) - The transaction ID. - **status** (string) - The status of the payment (e.g., "Completed", "Pending"). #### Response Example { "payment": { "id": "pay_abc", "paymentDate": "2023-10-26", "amount": 50.00, "method": "Credit Card", "transactionId": "txn_xyz", "status": "Completed" } } ## PUT /accounts/{accountId}/payments/{paymentId} ### Description Update existing information for a specific payment. ### Method PUT ### Endpoint /accounts/{accountId}/payments/{paymentId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. #### Request Body - **paymentData** (object) - Required - The updated data for the payment. - **paymentDate** (string) - Optional - The new date of the payment. - **method** (string) - Optional - The new payment method. - **transactionId** (string) - Optional - The new transaction ID. ### Request Example { "paymentData": { "paymentDate": "2023-10-27" } } #### Response Example { "id": "pay_abc", "paymentDate": "2023-10-27", "amount": 50.00, "method": "Credit Card", "transactionId": "txn_xyz", "status": "Completed" } ## DELETE /accounts/{accountId}/payments/{paymentId} ### Description Delete a specific payment. ### Method DELETE ### Endpoint /accounts/{accountId}/payments/{paymentId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the payment was deleted. #### Response Example { "message": "Payment with ID pay_abc has been deleted." } ## POST /accounts/{accountId}/payments/{paymentId}/AllocateInvoice ### Description Allocate an invoice to a specific payment. ### Method POST ### Endpoint /accounts/{accountId}/payments/{paymentId}/AllocateInvoice ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. #### Request Body - **invoiceId** (string) - Required - The ID of the invoice to allocate. - **amount** (number) - Optional - The amount to allocate. If not provided, the full invoice amount (or remaining balance) will be allocated. ### Request Example { "invoiceId": "inv_123", "amount": 50.00 } #### Response Example { "success": true, "message": "Invoice inv_123 allocated to payment pay_abc." } ## POST /accounts/{accountId}/payments/{paymentId}/AllocateRefundToPayment ### Description Allocate a refund to a specific payment. ### Method POST ### Endpoint /accounts/{accountId}/payments/{paymentId}/AllocateRefundToPayment ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. #### Request Body - **refundId** (string) - Required - The ID of the refund to allocate. - **amount** (number) - Optional - The amount to allocate. If not provided, the full refund amount (or remaining balance) will be allocated. ### Request Example { "refundId": "ref_xyz", "amount": 25.00 } #### Response Example { "success": true, "message": "Refund ref_xyz allocated to payment pay_abc." } ## POST /accounts/{accountId}/payments/{donationId}/AllocateRefundToDonation ### Description Allocate a refund to a specific donation. ### Method POST ### Endpoint /accounts/{accountId}/payments/{donationId}/AllocateRefundToDonation ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **donationId** (string) - Required - The ID of the donation to which the refund should be allocated. #### Request Body - **refundId** (string) - Required - The ID of the refund to allocate. - **amount** (number) - Optional - The amount to allocate. If not provided, the full refund amount (or remaining balance) will be allocated. ### Request Example { "refundId": "ref_xyz", "amount": 25.00 } #### Response Example { "success": true, "message": "Refund ref_xyz allocated to donation donation_123." } ## POST /accounts/{accountId}/payments/{paymentId}/UnallocateFromPayment ### Description Unallocate a finance document (like an invoice or donation) from a specific payment. ### Method POST ### Endpoint /accounts/{accountId}/payments/{paymentId}/UnallocateFromPayment ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **paymentId** (string) - Required - The unique identifier for the payment. #### Request Body - **allocationId** (string) - Required - The ID of the specific allocation to remove. ### Request Example { "allocationId": "alloc_789" } #### Response Example { "success": true, "message": "Allocation alloc_789 unallocated from payment pay_abc." } ## POST /accounts/{accountId}/payments/{donationId}/UnallocateFromDonation ### Description Unallocate a finance document (like an invoice or donation) from a specific donation. ### Method POST ### Endpoint /accounts/{accountId}/payments/{donationId}/UnallocateFromDonation ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **donationId** (string) - Required - The ID of the donation from which to unallocate. #### Request Body - **allocationId** (string) - Required - The ID of the specific allocation to remove. ### Request Example { "allocationId": "alloc_789" } #### Response Example { "success": true, "message": "Allocation alloc_789 unallocated from donation donation_123." } ``` -------------------------------- ### Finances - Invoices API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing invoices, including retrieval, creation, update, and deletion. ```APIDOC ## GET /accounts/{accountId}/invoices ### Description Get a list of invoices based on specified criteria. ### Method GET ### Endpoint /accounts/{accountId}/invoices ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. ### Response #### Success Response (200) - **invoices** (array) - A list of invoice objects. - **id** (string) - The unique identifier for the invoice. - **invoiceNumber** (string) - The invoice number. - **issueDate** (string) - The date the invoice was issued. - **dueDate** (string) - The due date for the invoice. - **totalAmount** (number) - The total amount of the invoice. - **paidAmount** (number) - The amount of the invoice that has been paid. - **status** (string) - The current status of the invoice (e.g., "Draft", "Sent", "Paid"). #### Response Example { "invoices": [ { "id": "inv_123", "invoiceNumber": "INV-001", "issueDate": "2023-10-27", "dueDate": "2023-11-26", "totalAmount": 100.00, "paidAmount": 0.00, "status": "Sent" } ] } ## POST /accounts/{accountId}/invoices ### Description Creates a new invoice for the account. ### Method POST ### Endpoint /accounts/{accountId}/invoices ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **invoiceData** (object) - Required - The data for the new invoice. - **issueDate** (string) - Required - The date the invoice should be issued. - **dueDate** (string) - Required - The due date for the invoice. - **lineItems** (array) - Required - A list of items included in the invoice. - **description** (string) - Required - Description of the line item. - **quantity** (number) - Required - The quantity of the item. - **unitPrice** (number) - Required - The price per unit. - **customerId** (string) - Optional - The ID of the customer associated with the invoice. ### Request Example { "invoiceData": { "issueDate": "2023-10-27", "dueDate": "2023-11-26", "lineItems": [ { "description": "Membership Fee", "quantity": 1, "unitPrice": 50.00 }, { "description": "Event Ticket", "quantity": 2, "unitPrice": 25.00 } ], "customerId": "cust_abc" } } #### Response Example { "id": "inv_456", "invoiceNumber": "INV-002", "issueDate": "2023-10-27", "dueDate": "2023-11-26", "totalAmount": 100.00, "paidAmount": 0.00, "status": "Draft" } ## GET /accounts/{accountId}/invoices/{invoiceId} ### Description Retrieve detailed information about a specific invoice. ### Method GET ### Endpoint /accounts/{accountId}/invoices/{invoiceId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **invoiceId** (string) - Required - The unique identifier for the invoice. ### Response #### Success Response (200) - **invoice** (object) - Detailed information about the invoice. - **id** (string) - The unique identifier for the invoice. - **invoiceNumber** (string) - The invoice number. - **issueDate** (string) - The date the invoice was issued. - **dueDate** (string) - The due date for the invoice. - **totalAmount** (number) - The total amount of the invoice. - **paidAmount** (number) - The amount of the invoice that has been paid. - **status** (string) - The current status of the invoice. - **lineItems** (array) - A list of line items on the invoice. #### Response Example { "invoice": { "id": "inv_123", "invoiceNumber": "INV-001", "issueDate": "2023-10-27", "dueDate": "2023-11-26", "totalAmount": 100.00, "paidAmount": 50.00, "status": "Partially Paid", "lineItems": [ { "description": "Membership Fee", "quantity": 1, "unitPrice": 50.00 } ] } } ## PUT /accounts/{accountId}/invoices/{invoiceId} ### Description Update existing information for a specific invoice. ### Method PUT ### Endpoint /accounts/{accountId}/invoices/{invoiceId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **invoiceId** (string) - Required - The unique identifier for the invoice. #### Request Body - **invoiceData** (object) - Required - The updated data for the invoice. - **dueDate** (string) - Optional - The new due date for the invoice. - **lineItems** (array) - Optional - The updated list of line items. - **description** (string) - Required - Description of the line item. - **quantity** (number) - Required - The quantity of the item. - **unitPrice** (number) - Required - The price per unit. ### Request Example { "invoiceData": { "dueDate": "2023-12-01", "lineItems": [ { "description": "Membership Fee", "quantity": 1, "unitPrice": 55.00 } ] } } #### Response Example { "id": "inv_123", "invoiceNumber": "INV-001", "issueDate": "2023-10-27", "dueDate": "2023-12-01", "totalAmount": 55.00, "paidAmount": 50.00, "status": "Partially Paid" } ## DELETE /accounts/{accountId}/invoices/{invoiceId} ### Description Delete a specific invoice. ### Method DELETE ### Endpoint /accounts/{accountId}/invoices/{invoiceId} ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. - **invoiceId** (string) - Required - The unique identifier for the invoice. ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the invoice was deleted. #### Response Example { "message": "Invoice with ID inv_123 has been deleted." } ## POST /rpc/{accountId}/GenerateInvoiceForEventRegistration ### Description Generate or update an invoice for an existing event registration. ### Method POST ### Endpoint /rpc/{accountId}/GenerateInvoiceForEventRegistration ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **eventRegistrationId** (string) - Required - The ID of the event registration for which to generate or update the invoice. ### Request Example { "eventRegistrationId": "reg_789" } #### Response Example { "invoiceId": "inv_789" } ## POST /rpc/{accountId}/VoidInvoice ### Description Void an active invoice. ### Method POST ### Endpoint /rpc/{accountId}/VoidInvoice ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. #### Request Body - **invoiceId** (string) - Required - The ID of the invoice to void. ### Request Example { "invoiceId": "inv_123" } #### Response Example { "success": true, "message": "Invoice INV-001 has been voided." } ``` -------------------------------- ### Finances - Payment Allocations API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoint for retrieving details on how payments are allocated among invoices. ```APIDOC ## GET /accounts/{accountId}/paymentAllocations ### Description Get a list describing how payments are allocated among invoices. ### Method GET ### Endpoint /accounts/{accountId}/paymentAllocations ### Parameters #### Path Parameters - **accountId** (string) - Required - The unique identifier for the account. ### Response #### Success Response (200) - **allocations** (array) - A list of payment allocation objects. - **id** (string) - The unique identifier for the allocation. - **paymentId** (string) - The ID of the payment. - **invoiceId** (string) - The ID of the invoice. - **amountAllocated** (number) - The amount allocated. - **allocationDate** (string) - The date of the allocation. #### Response Example { "allocations": [ { "id": "alloc_789", "paymentId": "pay_abc", "invoiceId": "inv_123", "amountAllocated": 50.00, "allocationDate": "2023-10-26" } ] } ``` -------------------------------- ### Attachments API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for downloading, retrieving information about, and uploading attachments. ```APIDOC ## GET /accounts/{accountId}/attachments/{attachmentId} ### Description Downloads a specific attachment. ### Method GET ### Endpoint /accounts/{accountId}/attachments/{attachmentId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **attachmentId** (string) - Required - The ID of the attachment to download. ### Response #### Success Response (200) - **fileContent** (binary) - The attachment data. #### Response Example (Binary file content) ## GET /accounts/{accountId}/attachments/GetInfos ### Description Retrieves information about available attachments. ### Method GET ### Endpoint /accounts/{accountId}/attachments/GetInfos ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. ### Response #### Success Response (200) - **attachmentsInfo** (array) - A list of attachment information objects. #### Response Example ```json { "attachmentsInfo": [ { "id": "att_xyz789", "fileName": "document.pdf", "size": 102400 } ] } ``` ## POST /accounts/{accountId}/attachments/Upload ### Description Uploads one or more attachments. ### Method POST ### Endpoint /accounts/{accountId}/attachments/Upload ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. #### Request Body - **files** (file) - Required - The attachment file(s) to upload. ### Request Example (Multipart form data containing attachment files) ### Response #### Success Response (200) - **uploadedAttachments** (array) - Information about the uploaded attachments. #### Response Example ```json { "uploadedAttachments": [ { "id": "att_def456", "fileName": "report.docx" } ] } ``` ``` -------------------------------- ### Event Clone RPC Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index RPC endpoint for cloning an existing event. ```APIDOC ## POST /rpc/{accountId}/CloneEvent ### Description Clones an existing event. ### Method POST ### Endpoint /rpc/{accountId}/CloneEvent ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. #### Request Body - **eventId** (integer) - Required - ``` -------------------------------- ### Events API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing event records, including listing, creating, retrieving, updating, and deleting events. ```APIDOC ## GET /accounts/{accountId}/events ### Description Retrieves a list of events for a given account. ### Method GET ### Endpoint /accounts/{accountId}/events ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. ### Response #### Success Response (200) - **events** (array) - A list of event objects. #### Response Example ```json { "events": [ { "id": 100, "name": "Annual Conference" } ] } ``` ## POST /accounts/{accountId}/events ### Description Creates a new event record. ### Method POST ### Endpoint /accounts/{accountId}/events ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. #### Request Body - **name** (string) - Required - The name of the event. - **startDate** (string) - Required - The start date of the event (ISO 8601 format). ### Request Example ```json { "name": "Workshop Series", "startDate": "2024-03-15T09:00:00Z" } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the newly created event. #### Response Example ```json { "id": 101 } ``` ## GET /accounts/{accountId}/events/{eventId} ### Description Retrieves detailed information about a specific event. ### Method GET ### Endpoint /accounts/{accountId}/events/{eventId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **eventId** (integer) - Required - The ID of the event to retrieve. ### Response #### Success Response (200) - **event** (object) - The detailed information of the event. #### Response Example ```json { "event": { "id": 102, "name": "Summer Seminar", "startDate": "2024-07-20T10:00:00Z", "endDate": "2024-07-20T17:00:00Z" } } ``` ## PUT /accounts/{accountId}/events/{eventId} ### Description Updates information for an existing event. ### Method PUT ### Endpoint /accounts/{accountId}/events/{eventId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **eventId** (integer) - Required - The ID of the event to update. #### Request Body - **name** (string) - Optional - The updated name of the event. - **endDate** (string) - Optional - The updated end date (ISO 8601 format). ### Request Example ```json { "endDate": "2024-07-20T18:00:00Z" } ``` ### Response #### Success Response (200) - **message** (string) - Indicates successful update. #### Response Example ```json { "message": "Event updated successfully." } ``` ## DELETE /accounts/{accountId}/events/{eventId} ### Description Deletes a specific event record. ### Method DELETE ### Endpoint /accounts/{accountId}/events/{eventId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **eventId** (integer) - Required - The ID of the event to delete. ### Response #### Success Response (200) - **message** (string) - Indicates successful deletion. #### Response Example ```json { "message": "Event deleted successfully." } ``` ``` -------------------------------- ### Contacts API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing contacts and member records, including listing, creating, retrieving, updating, and deleting contacts. ```APIDOC ## GET /accounts/{accountId}/contacts ### Description Retrieves a list of contacts and member records for a given account. ### Method GET ### Endpoint /accounts/{accountId}/contacts ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. ### Response #### Success Response (200) - **contacts** (array) - A list of contact objects. #### Response Example ```json { "contacts": [ { "id": 1, "firstName": "John", "lastName": "Doe" } ] } ``` ## POST /accounts/{accountId}/contacts ### Description Creates a new contact or member record within an account. ### Method POST ### Endpoint /accounts/{accountId}/contacts ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. #### Request Body - **firstName** (string) - Required - The first name of the contact. - **lastName** (string) - Required - The last name of the contact. ### Request Example ```json { "firstName": "Jane", "lastName": "Smith" } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the newly created contact. #### Response Example ```json { "id": 2 } ``` ## GET /accounts/{accountId}/contacts/me ### Description Retrieves information about the currently authenticated contact. ### Method GET ### Endpoint /accounts/{accountId}/contacts/me ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. ### Response #### Success Response (200) - **contact** (object) - The authenticated contact's information. #### Response Example ```json { "contact": { "id": 3, "email": "user@example.com" } } ``` ## GET /accounts/{accountId}/contacts/{contactId} ### Description Retrieves detailed information about a specific member or contact. ### Method GET ### Endpoint /accounts/{accountId}/contacts/{contactId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **contactId** (integer) - Required - The ID of the contact to retrieve. ### Response #### Success Response (200) - **contact** (object) - The detailed information of the contact. #### Response Example ```json { "contact": { "id": 4, "firstName": "Peter", "lastName": "Jones", "email": "peter.jones@example.com" } } ``` ## PUT /accounts/{accountId}/contacts/{contactId} ### Description Updates information for an existing member or contact. ### Method PUT ### Endpoint /accounts/{accountId}/contacts/{contactId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **contactId** (integer) - Required - The ID of the contact to update. #### Request Body - **email** (string) - Optional - The updated email address. - **phone** (string) - Optional - The updated phone number. ### Request Example ```json { "email": "peter.j.updated@example.com" } ``` ### Response #### Success Response (200) - **message** (string) - Indicates successful update. #### Response Example ```json { "message": "Contact updated successfully." } ``` ## DELETE /accounts/{accountId}/contacts/{contactId} ### Description Deletes a specific member or contact record. ### Method DELETE ### Endpoint /accounts/{accountId}/contacts/{contactId} ### Parameters #### Path Parameters - **accountId** (integer) - Required - The ID of the account. - **contactId** (integer) - Required - The ID of the contact to delete. ### Response #### Success Response (200) - **message** (string) - Indicates successful deletion. #### Response Example ```json { "message": "Contact deleted successfully." } ``` ``` -------------------------------- ### Finance Documents API Source: https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricot_public_api/9.1.0-oas3/index Endpoints for managing financial documents such as invoices and payments. ```APIDOC ## Finance Documents API This section details endpoints related to financial documents like invoices, payments, and refunds. ### Invoices #### GET /finance/invoices **Description**: Retrieves a list of invoices. **Method**: GET **Endpoint**: /finance/invoices **Query Parameters**: - **limit** (integer) - Optional - Maximum number of invoices to return. - **offset** (integer) - Optional - Number of invoices to skip. #### GET /finance/invoices/{invoiceId} **Description**: Retrieves a specific invoice by its ID. **Method**: GET **Endpoint**: /finance/invoices/{invoiceId} **Path Parameters**: - **invoiceId** (integer) - Required - The ID of the invoice to retrieve. #### POST /finance/invoices **Description**: Creates a new invoice. **Method**: POST **Endpoint**: /finance/invoices **Request Body**: - **invoice** (object) - Required - The invoice details. ### Payments #### GET /finance/payments **Description**: Retrieves a list of payments. **Method**: GET **Endpoint**: /finance/payments **Query Parameters**: - **limit** (integer) - Optional - Maximum number of payments to return. - **offset** (integer) - Optional - Number of payments to skip. #### GET /finance/payments/{paymentId} **Description**: Retrieves a specific payment by its ID. **Method**: GET **Endpoint**: /finance/payments/{paymentId} **Path Parameters**: - **paymentId** (integer) - Required - The ID of the payment to retrieve. ### Refunds #### GET /finance/refunds **Description**: Retrieves a list of refunds. **Method**: GET **Endpoint**: /finance/refunds **Query Parameters**: - **limit** (integer) - Optional - Maximum number of refunds to return. - **offset** (integer) - Optional - Number of refunds to skip. #### GET /finance/refunds/{refundId} **Description**: Retrieves a specific refund by its ID. **Method**: GET **Endpoint**: /finance/refunds/{refundId} **Path Parameters**: - **refundId** (integer) - Required - The ID of the refund to retrieve. ```