Webhooks
API Reference
>
Webhooks
openapi: 3.0.1
info:
title: Victor REST API
version: 2.0.0
servers:
- url: https://api.stage.victorfi.com
description: Victor Staging Environment
- url: https://api.victorfi.com
description: Victor Production Environment
tags:
- name: Webhooks
description: Webhooks Controller
paths:
/v2/webhooks:
get:
description: Returns a page of configured webhooks.
operationId: getWebhooks
parameters:
- description: Page of results to be returned
in: query
name: pagedRequest
required: true
schema:
$ref: '#/components/schemas/PagedRequest'
explode: true
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResponseWebhookConfigurationListItem'
description: Request succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResponseWebhookConfigurationListItem'
description: Invalid list request.
summary: List Webhooks
tags:
- Webhooks
post:
description: Creates a new webhook configuration.
operationId: createWebhook
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NewWebhookRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookConfiguration'
description: Request succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrors'
description: Invalid request.
summary: Create Webhook
tags:
- Webhooks
/v2/webhooks/deliveries:
get:
tags:
- Webhooks
summary: List Webhook Deliveries
description: Returns a page of webhook deliveries.
operationId: getWebhookDeliveries
parameters:
- name: listWebhookDeliveriesQueryParams
in: query
description: Query parameters for additional filtering of Webhook deliveries.
required: false
schema:
$ref: '#/components/schemas/ListWebhookDeliveriesQueryParams'
explode: true
style: form
responses:
'400':
description: Invalid List Webhook Deliveries request.
'200':
description: Returns a list of webhook deliveries.
content:
application/json:
schema:
$ref: '#/components/schemas/WebhooksPage'
/v2/webhooks/{victorWebhookId}:
get:
description: Returns the configuration of a given webhook.
operationId: getWebhook
parameters:
- in: path
name: victorWebhookId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookConfiguration'
description: Request succeeded.
'404':
description: Webhook not found.
summary: Get Webhook
tags:
- Webhooks
put:
description: Updates a webhook's configuration.
operationId: updateWebhook
parameters:
- in: path
name: victorWebhookId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWebhookRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookConfiguration'
description: Request succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrors'
description: Invalid update request.
'404':
description: Webhook not found.
summary: Update Webhook
tags:
- Webhooks
delete:
description: Deletes a webhook.
operationId: deleteWebhook
parameters:
- description: ID of the webhook to be deleted.
in: path
name: victorWebhookId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookDeletedResponse'
description: Request succeeded.
'404':
description: Webhook not found.
summary: Delete Webhook
tags:
- Webhooks
/v2/webhooks/{victorWebhookId}/deliveries:
get:
tags:
- Webhooks
summary: List Deliveries for Specified Webhook Configuration
description: Returns a page of webhook deliveries.
operationId: getDeliveriesForWebhook
parameters:
- description: ID of the webhook configuration to view the deliveries for.
in: path
name: victorWebhookId
required: true
schema:
type: string
- name: listWebhookDeliveriesQueryParams
in: query
description: Query parameters for additional filtering of Webhook deliveries.
required: false
schema:
$ref: '#/components/schemas/ListDeliveriesForWebhookQueryParams'
explode: true
style: form
responses:
'400':
description: Invalid List Webhook Deliveries request.
'200':
description: Returns a list of webhook deliveries.
content:
application/json:
schema:
$ref: '#/components/schemas/WebhooksPage'
components:
schemas:
ConfigurationProperty:
properties:
name:
$ref: '#/components/schemas/ConfigurationPropertyName'
origin:
$ref: '#/components/schemas/Origin'
value:
type: object
type: object
ConfigurationPropertyName:
properties:
empty:
type: boolean
lastElementIndexed:
type: boolean
numberOfElements:
format: int32
type: integer
parent:
$ref: '#/components/schemas/ConfigurationPropertyName'
type: object
ListDeliveriesForWebhookQueryParams:
type: object
properties:
start_date:
type: string
format: date-time
example: '2025-01-01T00:00:00.000000001Z'
end_date:
type: string
format: date-time
example: '2025-01-01T00:00:00.000000001Z'
last_evaluated_key:
type: string
description: Identifier of the last item that was read within the returned page.
page_size:
type: integer
default: 50
minimum: 1
ListWebhookDeliveriesQueryParams:
type: object
properties:
victor_transaction_id:
type: string
start_date:
type: string
format: date-time
example: '2025-01-01T00:00:00.000000001Z'
end_date:
type: string
format: date-time
example: '2025-01-01T00:00:00.000000001Z'
last_evaluated_key:
type: string
description: Identifier of the last item that was read within the returned page.
page_size:
type: integer
default: 50
minimum: 1
NewWebhookRequest:
properties:
event_filter:
enum:
- payment.ach.inbound
- payment.ach.outbound
- payment.ach.return
- payment.wire.inbound
- payment.wire.outbound
- book.internal
- book.external
- rtp.send.outbound
- rtp.send.inbound
- rtp.refund
- rfp.send.inbound
- rfp.send.outbound
- instant.payment.send
- instant.payment.inbound
type: string
url:
type: string
required:
- url
type: object
ObjectError:
properties:
arguments:
items:
type: object
type: array
code:
type: string
codes:
items:
type: string
type: array
defaultMessage:
type: string
objectName:
type: string
type: object
Origin:
properties:
parent:
$ref: '#/components/schemas/Origin'
type: object
PagedRequest:
properties:
page:
format: int32
minimum: 0
type: integer
default: 0
description: Uses 0 based indexing.
page_size:
format: int32
minimum: 1
type: integer
type: object
PagedResponseWebhookConfigurationListItem:
properties:
index:
format: int32
type: integer
results:
items:
$ref: '#/components/schemas/WebhookConfigurationListItem'
type: array
size:
format: int32
type: integer
type: object
UpdateWebhookRequest:
properties:
event_filter:
enum:
- payment.ach.inbound,
- payment.ach.outbound,
- payment.ach.return,
- payment.wire.inbound,
- payment.wire.outbound,
- book.internal
- book.external
- rtp.send.outbound
- rtp.send.inbound
- rtp.refund
- rfp.send.inbound
- rfp.send.outbound
- instant.payment.send
- instant.payment.inbound
type: string
json:
type: boolean
url:
type: string
type: object
ValidationErrors:
properties:
allErrors:
items:
$ref: '#/components/schemas/ObjectError'
type: array
boundProperties:
items:
$ref: '#/components/schemas/ConfigurationProperty'
type: array
uniqueItems: true
name:
$ref: '#/components/schemas/ConfigurationPropertyName'
type: object
WebhookConfiguration:
properties:
created_at:
format: int64
type: integer
event_type:
enum:
- payment.ach.inbound,
- payment.ach.outbound,
- payment.ach.return,
- payment.wire.inbound,
- payment.wire.outbound,
- book.internal
- book.external
- rtp.send.outbound
- rtp.send.inbound
- rtp.refund
- rfp.send.inbound
- rfp.send.outbound
type: string
public_key:
type: string
updated_at:
format: int64
type: integer
url:
type: string
victor_webhook_id:
type: string
type: object
WebhookConfigurationListItem:
properties:
created_at:
format: int64
type: integer
created_by:
type: string
created_by_uuid:
type: string
event_type:
enum:
- payment.ach.inbound,
- payment.ach.outbound,
- payment.ach.return,
- payment.wire.inbound,
- payment.wire.outbound,
- book.internal
- book.external
- rtp.send.outbound
- rtp.send.inbound
- rtp.refund
- rfp.send.inbound
- rfp.send.outbound
type: string
updated_at:
format: int64
type: integer
url:
type: string
victor_webhook_id:
type: string
type: object
WebhookDeletedResponse:
properties:
deleted_at:
format: int64
type: integer
victor_webhook_id:
type: string
type: object
WebhookListItem:
type: object
properties:
reference:
type: string
description: Victor Transaction ID
status:
type: string
description: Transaction Status for which the given webhook was sent.
type:
$ref: '#/components/schemas/WebhookType'
created_at:
type: string
format: date-time
example: '2025-01-01T00:00:00.000000001Z'
content:
type: string
format: json
example: '{"id":"ABCDEFGHIJ","amount":"0.01","status":"Sent","created_at":"1677502377261","client_reference_id":null,"account_name":"ACME
COMPANY","account_number":"00000000001","external_account_number":null,"description":null,"transaction_type":"ach_transfer","completed_at":null,"error_code":null,"error_message":null,"company_id":"119699525","company_name":null,"originator_name":"BANK","receiver_name":"ACME
RECEIVER","effective_entry_date":"240723","entry_description":"000000000","individual_id":"12345ABCD","sec_code":"CCD","company_discretionary_data":"","originating_aba":"111111111","transaction_code":"22","receiver_account_number":"12345678","victor_trace_id":"000000000000001","fed_trace_id":null}'
url:
type: string
format: uri
description: Destination URL where the webhook contents should be delivered.
delivered:
type: boolean
description: Indicates if the delivery was successful.
WebhookType:
type: string
description: Defines the type of a webhook notification.
enum:
- TRANSACTION
- PAYMENT_REQUEST
- NOTICE_OF_CHANGE
- ACH_RETURN_PREVIEW
WebhooksPage:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/WebhookListItem'
last_evaluated_key:
type: string
description: Identifier of the last item that was read within the returned page.
Did this page help you?
Why was this page helpful?
Why wasn't this page helpful?
Thank you for your feedback!
Last updated Tue Mar 3 2026