WildApricot · Capability

WildApricot Admin API — Finances.Invoices

WildApricot Admin API — Finances.Invoices. 7 operations. Lead operation: WildApricot Get List of Invoices by Criteria.. Self-contained Naftiko capability covering one Wildapricot business surface.

Run with Naftiko WildapricotFinances.Invoices

What You Can Do

GET
Getinvoiceslist — WildApricot Get List of Invoices by Criteria.
/v1/accounts/{accountid}/invoices
POST
Createinvoice — WildApricot Creates a New Invoice.
/v1/accounts/{accountid}/invoices
GET
Getinvoicedetails — WildApricot Retrieve Information About Specific Invoice
/v1/accounts/{accountid}/invoices/{invoiceid}
PUT
Updateinvoice — WildApricot Update Existing Invoice Information
/v1/accounts/{accountid}/invoices/{invoiceid}
DELETE
Deleteinvoice — WildApricot Delete Existing Invoice
/v1/accounts/{accountid}/invoices/{invoiceid}
POST
Generateinvoiceforeventregistration — WildApricot Generate or Update Invoice for Existing Event Registration.
/v1/rpc/{accountid}/generateinvoiceforeventregistration
POST
Voidinvoice — WildApricot Void Active Invoice.
/v1/rpc/{accountid}/voidinvoice

MCP Tools

wildapricot-get-list-invoices-criteria

WildApricot Get List of Invoices by Criteria.

read-only idempotent
wildapricot-creates-new-invoice

WildApricot Creates a New Invoice.

wildapricot-retrieve-information-about-specific

WildApricot Retrieve Information About Specific Invoice

read-only idempotent
wildapricot-update-existing-invoice-information

WildApricot Update Existing Invoice Information

idempotent
wildapricot-delete-existing-invoice

WildApricot Delete Existing Invoice

idempotent
wildapricot-generate-update-invoice-existing

WildApricot Generate or Update Invoice for Existing Event Registration.

wildapricot-void-active-invoice

WildApricot Void Active Invoice.

Capability Spec

admin-finances-invoices.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: WildApricot Admin API — Finances.Invoices
  description: 'WildApricot Admin API — Finances.Invoices. 7 operations. Lead operation: WildApricot Get List of Invoices
    by Criteria.. Self-contained Naftiko capability covering one Wildapricot business surface.'
  tags:
  - Wildapricot
  - Finances.Invoices
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WILDAPRICOT_API_KEY: WILDAPRICOT_API_KEY
capability:
  consumes:
  - type: http
    namespace: admin-finances-invoices
    baseUri: https://api.wildapricot.org/v2.2
    description: WildApricot Admin API — Finances.Invoices business capability. Self-contained, no shared references.
    resources:
    - name: accounts-accountId-invoices
      path: /accounts/{accountId}/invoices
      operations:
      - name: getinvoiceslist
        method: GET
        description: WildApricot Get List of Invoices by Criteria.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: query
          type: integer
          description: Identifier of contact to whom the invoice is assigned.
        - name: eventId
          in: query
          type: integer
          description: Identifier of event. When specified API returns collection of invoices associated with event registrations
            for the event.
        - name: eventRegistrationId
          in: query
          type: integer
          description: Identifier of event registration. When specified API returns invoice related to the registration. Usually
            a single invoice.
        - name: unpaidOnly
          in: query
          type: boolean
          description: When set to true, API returns only unpaid invoices.
        - name: paidOnly
          in: query
          type: boolean
          description: When set to true, API returns only paid invoices.
        - name: includeVoided
          in: query
          type: boolean
          description: When set to true, API also returns voided invoices.
        - name: idsOnly
          in: query
          type: boolean
          description: When set to true, API returns only collection of identifiers instead of collection of invoices.
        - name: StartDate
          in: query
          type: string
          description: Limits result to invoices created since StartDate.
        - name: EndDate
          in: query
          type: string
          description: Limits result to invoices created before EndDate.
      - name: createinvoice
        method: POST
        description: WildApricot Creates a New Invoice.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accounts-accountId-invoices-invoiceId
      path: /accounts/{accountId}/invoices/{invoiceId}
      operations:
      - name: getinvoicedetails
        method: GET
        description: WildApricot Retrieve Information About Specific Invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invoiceId
          in: path
          type: integer
          description: Unique invoice identifier
          required: true
      - name: updateinvoice
        method: PUT
        description: WildApricot Update Existing Invoice Information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invoiceId
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteinvoice
        method: DELETE
        description: WildApricot Delete Existing Invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invoiceId
          in: path
          type: integer
          required: true
    - name: rpc-accountId-GenerateInvoiceForEventRegistration
      path: /rpc/{accountId}/GenerateInvoiceForEventRegistration
      operations:
      - name: generateinvoiceforeventregistration
        method: POST
        description: WildApricot Generate or Update Invoice for Existing Event Registration.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: eventRegistrationId
          in: query
          type: integer
          description: Event registration ID with pending membership
          required: true
        - name: updateIfExists
          in: query
          type: boolean
          description: If set to true and invoice already exists, API will update the invoice items.
    - name: rpc-accountId-VoidInvoice
      path: /rpc/{accountId}/VoidInvoice
      operations:
      - name: voidinvoice
        method: POST
        description: WildApricot Void Active Invoice.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invoiceId
          in: query
          type: integer
          description: invoiceId ID to void
          required: true
    authentication:
      type: bearer
      token: '{{env.WILDAPRICOT_API_KEY}}'
  exposes:
  - type: rest
    namespace: admin-finances-invoices-rest
    port: 8080
    description: REST adapter for WildApricot Admin API — Finances.Invoices. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/accounts/{accountid}/invoices
      name: accounts-accountid-invoices
      description: REST surface for accounts-accountId-invoices.
      operations:
      - method: GET
        name: getinvoiceslist
        description: WildApricot Get List of Invoices by Criteria.
        call: admin-finances-invoices.getinvoiceslist
        with:
          contactId: rest.contactId
          eventId: rest.eventId
          eventRegistrationId: rest.eventRegistrationId
          unpaidOnly: rest.unpaidOnly
          paidOnly: rest.paidOnly
          includeVoided: rest.includeVoided
          idsOnly: rest.idsOnly
          StartDate: rest.StartDate
          EndDate: rest.EndDate
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createinvoice
        description: WildApricot Creates a New Invoice.
        call: admin-finances-invoices.createinvoice
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{accountid}/invoices/{invoiceid}
      name: accounts-accountid-invoices-invoiceid
      description: REST surface for accounts-accountId-invoices-invoiceId.
      operations:
      - method: GET
        name: getinvoicedetails
        description: WildApricot Retrieve Information About Specific Invoice
        call: admin-finances-invoices.getinvoicedetails
        with:
          invoiceId: rest.invoiceId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateinvoice
        description: WildApricot Update Existing Invoice Information
        call: admin-finances-invoices.updateinvoice
        with:
          invoiceId: rest.invoiceId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteinvoice
        description: WildApricot Delete Existing Invoice
        call: admin-finances-invoices.deleteinvoice
        with:
          invoiceId: rest.invoiceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/rpc/{accountid}/generateinvoiceforeventregistration
      name: rpc-accountid-generateinvoiceforeventregistration
      description: REST surface for rpc-accountId-GenerateInvoiceForEventRegistration.
      operations:
      - method: POST
        name: generateinvoiceforeventregistration
        description: WildApricot Generate or Update Invoice for Existing Event Registration.
        call: admin-finances-invoices.generateinvoiceforeventregistration
        with:
          eventRegistrationId: rest.eventRegistrationId
          updateIfExists: rest.updateIfExists
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/rpc/{accountid}/voidinvoice
      name: rpc-accountid-voidinvoice
      description: REST surface for rpc-accountId-VoidInvoice.
      operations:
      - method: POST
        name: voidinvoice
        description: WildApricot Void Active Invoice.
        call: admin-finances-invoices.voidinvoice
        with:
          invoiceId: rest.invoiceId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: admin-finances-invoices-mcp
    port: 9090
    transport: http
    description: MCP adapter for WildApricot Admin API — Finances.Invoices. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: wildapricot-get-list-invoices-criteria
      description: WildApricot Get List of Invoices by Criteria.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-finances-invoices.getinvoiceslist
      with:
        contactId: tools.contactId
        eventId: tools.eventId
        eventRegistrationId: tools.eventRegistrationId
        unpaidOnly: tools.unpaidOnly
        paidOnly: tools.paidOnly
        includeVoided: tools.includeVoided
        idsOnly: tools.idsOnly
        StartDate: tools.StartDate
        EndDate: tools.EndDate
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-creates-new-invoice
      description: WildApricot Creates a New Invoice.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-finances-invoices.createinvoice
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-retrieve-information-about-specific
      description: WildApricot Retrieve Information About Specific Invoice
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-finances-invoices.getinvoicedetails
      with:
        invoiceId: tools.invoiceId
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-update-existing-invoice-information
      description: WildApricot Update Existing Invoice Information
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin-finances-invoices.updateinvoice
      with:
        invoiceId: tools.invoiceId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-delete-existing-invoice
      description: WildApricot Delete Existing Invoice
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: admin-finances-invoices.deleteinvoice
      with:
        invoiceId: tools.invoiceId
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-generate-update-invoice-existing
      description: WildApricot Generate or Update Invoice for Existing Event Registration.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-finances-invoices.generateinvoiceforeventregistration
      with:
        eventRegistrationId: tools.eventRegistrationId
        updateIfExists: tools.updateIfExists
      outputParameters:
      - type: object
        mapping: $.
    - name: wildapricot-void-active-invoice
      description: WildApricot Void Active Invoice.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-finances-invoices.voidinvoice
      with:
        invoiceId: tools.invoiceId
      outputParameters:
      - type: object
        mapping: $.