Dwolla Events API

List and retrieve Events — the immutable record of every state change across your Dwolla application (customer verified, transfer created/completed/failed, funding source added, and more). Events are retained for 30 days and are the source that backs webhook notifications, letting you reconcile or replay activity via polling.

OpenAPI Specification

dwolla-events-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dwolla API - Events
  description: Dwolla API Documentation
  contact:
    name: Dwolla Developer Relations Team
    url: https://developers.dwolla.com
    email: api@dwolla.com
  version: '2.0'
  termsOfService: https://www.dwolla.com/legal/tos/
  license:
    name: MIT
    url: https://github.com/Dwolla/dwolla-openapi/blob/master/LICENSE
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base
servers:
- url: https://api.dwolla.com
  description: Production server
- url: https://api-sandbox.dwolla.com
  description: Sandbox server
security:
- clientCredentials: []
tags:
- name: events
  description: Operations related to Events
paths:
  /events:
    get:
      tags:
      - events
      summary: List events
      description: Returns a paginated list of events representing state changes to resources in your
        Dwolla application. Events track actions on customers, transfers, funding sources, and other resources,
        sorted by creation date (newest first). Events are retained for 30 days and are essential for
        webhook notifications and system activity monitoring.
      operationId: listEvents
      x-speakeasy-name-override: list
      x-codeSamples:
      - lang: bash
        source: "GET https://api-sandbox.dwolla.com/events\nAccept: application/vnd.dwolla.v1.hal+json\n\
          Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n...\n\n{\n  \"_links\"\
          : {\n    \"self\": {\n      \"href\": \"https://api-sandbox.dwolla.com/events\"\n    },\n  \
          \  \"first\": {\n      \"href\": \"https://api-sandbox.dwolla.com/events?limit=25&offset=0\"\
          \n    },\n    \"last\": {\n      \"href\": \"https://api-sandbox.dwolla.com/events?limit=25&offset=150\"\
          \n    },\n    \"next\": {\n      \"href\": \"https://api-sandbox.dwolla.com/events?limit=25&offset=25\"\
          \n    }\n  },\n  \"_embedded\": {\n    \"events\": [\n      {\n        \"_links\": {\n     \
          \     \"self\": {\n            \"href\": \"https://api-sandbox.dwolla.com/events/78e57644-56e4-4da2-b743-059479f2e80f\"\
          \n          },\n          \"resource\": {\n            \"href\": \"https://api-sandbox.dwolla.com/transfers/47CFDDB4-1E74-E511-80DB-0AA34A9B2388\"\
          \n          },\n          \"account\": {\n            \"href\": \"https://api-sandbox.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581b\"\
          \n          }\n        },\n        \"id\": \"78e57644-56e4-4da2-b743-059479f2e80f\",\n     \
          \   \"created\": \"2015-10-16T15:58:18.000Z\",\n        \"topic\": \"bank_transfer_created\"\
          ,\n        \"resourceId\": \"47CFDDB4-1E74-E511-80DB-0AA34A9B2388\"\n      },\n      {\n   \
          \     \"_links\": {\n          \"self\": {\n            \"href\": \"https://api-sandbox.dwolla.com/events/f8e70f48-b7ff-47d0-9d3d-62a099363a76\"\
          \n          },\n          \"resource\": {\n            \"href\": \"https://api-sandbox.dwolla.com/transfers/48CFDDB4-1E74-E511-80DB-0AA34A9B2388\"\
          \n          },\n          \"account\": {\n            \"href\": \"https://api-sandbox.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581b\"\
          \n          }\n        },\n        \"id\": \"f8e70f48-b7ff-47d0-9d3d-62a099363a76\",\n     \
          \   \"created\": \"2015-10-16T15:58:15.000Z\",\n        \"topic\": \"transfer_created\",\n \
          \       \"resourceId\": \"48CFDDB4-1E74-E511-80DB-0AA34A9B2388\"\n      },\n      {\n      \
          \  \"_links\": {\n          \"self\": {\n            \"href\": \"https://api-sandbox.dwolla.com/events/9f0167e0-dce6-4a1a-ad26-30015d6f1cc1\"\
          \n          },\n          \"resource\": {\n            \"href\": \"https://api-sandbox.dwolla.com/transfers/08A166BC-1B74-E511-80DB-0AA34A9B2388\"\
          \n          },\n          \"account\": {\n            \"href\": \"https://api-sandbox.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581b\"\
          \n          }\n        },\n        \"id\": \"9f0167e0-dce6-4a1a-ad26-30015d6f1cc1\",\n     \
          \   \"created\": \"2015-10-16T15:37:03.000Z\",\n        \"topic\": \"bank_transfer_created\"\
          ,\n        \"resourceId\": \"08A166BC-1B74-E511-80DB-0AA34A9B2388\"\n      }\n    ]\n  },\n\
          \  \"total\": 3\n}\n"
      - lang: javascript
        source: '// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node

          dwolla.get("events").then((res) => res.body.total); // => 3

          '
      - lang: python
        source: '# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python

          events = app_token.get(''events'')

          events.body[''total''] # => 3

          '
      - lang: php
        source: '<?php

          // Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php

          $eventsApi = new DwollaSwagger\EventsApi($apiClient);


          $events = $eventsApi->events();

          $events->total; # => 3

          ?>

          '
      - lang: ruby
        source: '# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby

          events = app_token.get "events"

          events.total # => 3

          '
      parameters:
      - name: limit
        in: query
        description: How many results to return
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: How many results to skip
        required: false
        schema:
          type: integer
      - $ref: '#/components/parameters/Accept'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/Events'
        '404':
          description: not found
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
  /events/{id}:
    get:
      tags:
      - events
      summary: Retrieve event
      description: Returns detailed information for a specific event representing a state change that
        occurred on a resource in your Dwolla application. Includes the event topic, timestamp, resource
        links, and correlation ID if applicable.
      operationId: getEvent
      x-speakeasy-name-override: get
      x-codeSamples:
      - lang: bash
        source: "GET https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095\nAccept:\
          \ application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\
          \n...\n\n{\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095\"\
          \n    },\n    \"resource\": {\n      \"href\": \"https://api-sandbox.dwolla.com/transfers/09A166BC-1B74-E511-80DB-0AA34A9B2388\"\
          \n    },\n    \"account\": {\n      \"href\": \"https://api-sandbox.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581b\"\
          \n    },\n    \"customer\": {\n      \"href\": \"https://api-sandbox.dwolla.com/customers/07d59716-ef22-4fe6-98e8-f3190233dfb8\"\
          \n    }\n  },\n  \"id\": \"81f6e13c-557c-4449-9331-da5c65e61095\",\n  \"created\": \"2015-10-16T15:37:02.000Z\"\
          ,\n  \"topic\": \"customer_transfer_created\",\n  \"resourceId\": \"09A166BC-1B74-E511-80DB-0AA34A9B2388\"\
          \n}\n"
      - lang: javascript
        source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar eventUrl =\n  \"https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095\"\
          ;\n\ndwolla.get(eventUrl).then((res) => res.body.topic); // => 'customer_transfer_created'\n"
      - lang: python
        source: '# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python

          event_url = ''https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095''


          event = app_token.get(event_url)

          event.body[''topic''] # => ''customer_transfer_created''

          '
      - lang: php
        source: '<?php

          // Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php

          $eventUrl = ''https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095'';


          $eventsApi = new DwollaSwagger\EventsApi($apiClient);


          $event = $eventsApi->id($eventUrl);

          $event->topic; # => "customer_transfer_created"

          ?>

          '
      - lang: ruby
        source: '# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby

          event_url = ''https://api-sandbox.dwolla.com/events/81f6e13c-557c-4449-9331-da5c65e61095''


          event = app_token.get event_url

          event.topic # => "customer_transfer_created"

          '
      parameters:
      - name: id
        in: path
        description: ID of application event to get
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Accept'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/Event'
        '404':
          description: not found
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
components:
  schemas:
    Events:
      title: Events
      type: object
      properties:
        _links:
          type: object
        additionalProperties:
          $ref: '#/components/schemas/HalLink'
        _embedded:
          type: object
          properties:
            events:
              type: array
              items:
                $ref: '#/components/schemas/Event'
        total:
          type: integer
          format: int32
          example: 3
    NotFoundError:
      title: NotFoundError
      description: Error response schema for 404 NotFound
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          example: NotFound
        message:
          type: string
          example: The requested resource was not found.
    HalLink:
      title: HalLink
      type: object
      properties:
        href:
          type: string
          example: https://api.dwolla.com
        type:
          type: string
          example: application/vnd.dwolla.v1.hal+json
        resource-type:
          type: string
          example: resource-type
    Event:
      title: Event
      type: object
      properties:
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/HalLink'
        id:
          type: string
          example: 81f6e13c-557c-4449-9331-da5c65e61095
        created:
          type: string
          format: date-time
          example: '2015-10-16T15:37:02.000Z'
        topic:
          type: string
          example: customer_transfer_created
        resourceId:
          type: string
          example: 09A166BC-1B74-E511-80DB-0AA34A9B2388
  parameters:
    Accept:
      name: Accept
      in: header
      required: true
      description: The media type of the response. Must be application/vnd.dwolla.v1.hal+json
      schema:
        type: string
        enum:
        - application/vnd.dwolla.v1.hal+json
        default: application/vnd.dwolla.v1.hal+json
  securitySchemes:
    clientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /token
          x-speakeasy-token-endpoint-authentication: client_secret_basic
          scopes: {}