ARGUS Enterprise Webhook API
Webhook service for the ARGUS Enterprise platform enabling real-time event notifications for property changes, valuation updates, lease events, portfolio modifications, and report completions.
Webhook service for the ARGUS Enterprise platform enabling real-time event notifications for property changes, valuation updates, lease events, portfolio modifications, and report completions.
openapi: 3.1.0
info:
title: Argus Enterprise Webhook API
description: >-
Webhook service for the ARGUS Enterprise platform by Altus Group, enabling
real-time event notifications for property changes, valuation updates,
lease events, portfolio modifications, and report completions. Integrators
can subscribe to specific event types and receive HTTP POST callbacks
when events occur in the system.
version: '1.0'
contact:
name: Argus API Support
email: [email protected]
url: https://support.argusenterprise.com
termsOfService: https://www.altusgroup.com/terms-of-use
externalDocs:
description: Argus Enterprise Webhook Documentation
url: https://docs.argusenterprise.com/webhooks
servers:
- url: https://webhooks.argusenterprise.com/v1
description: Argus Enterprise Webhooks Production
tags:
- name: Events
description: View webhook event history and delivery logs
- name: Health
description: Webhook service health and status
- name: Subscriptions
description: Manage webhook subscriptions
security:
- bearerAuth: []
paths:
/subscriptions:
get:
operationId: listSubscriptions
summary: Argus Enterprise List Webhook Subscriptions
description: >-
Retrieve all webhook subscriptions for the authenticated account,
including their status and configured event types.
tags:
- Subscriptions
parameters:
- name: status
in: query
description: Filter by subscription status
schema:
type: string
enum:
- Active
- Paused
- Disabled
- name: eventType
in: query
description: Filter by event type
schema:
type: string
enum:
- property.created
- property.updated
- property.deleted
- valuation.created
- valuation.updated
- lease.created
- lease.updated
- lease.expired
- portfolio.created
- portfolio.updated
- portfolio.deleted
- report.completed
- report.failed
- cashflow.updated
- tenant.created
- tenant.updated
responses:
'200':
description: Subscriptions retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionList'
'401':
description: Unauthorized
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createSubscription
summary: Argus Enterprise Create a Webhook Subscription
description: >-
Create a new webhook subscription to receive real-time notifications
for specified event types. The target URL must be HTTPS and will
receive a verification request before activation.
tags:
- Subscriptions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionInput'
responses:
'201':
description: Subscription created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
'400':
description: Invalid subscription data
'401':
description: Unauthorized
'409':
description: Subscription already exists for this URL and event combination
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/{subscriptionId}:
get:
operationId: getSubscription
summary: Argus Enterprise Get a Webhook Subscription
description: Retrieve detailed information about a specific webhook subscription.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
responses:
'200':
description: Subscription retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updateSubscription
summary: Argus Enterprise Update a Webhook Subscription
description: Update the configuration of an existing webhook subscription.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionInput'
responses:
'200':
description: Subscription updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
'400':
description: Invalid subscription data
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteSubscription
summary: Argus Enterprise Delete a Webhook Subscription
description: >-
Permanently delete a webhook subscription. No further events will
be delivered to the configured URL.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
responses:
'204':
description: Subscription deleted successfully
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/{subscriptionId}/pause:
post:
operationId: pauseSubscription
summary: Argus Enterprise Pause a Webhook Subscription
description: >-
Temporarily pause a webhook subscription. Events will be queued
and can be replayed when the subscription is resumed.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
responses:
'200':
description: Subscription paused successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/{subscriptionId}/resume:
post:
operationId: resumeSubscription
summary: Argus Enterprise Resume a Webhook Subscription
description: >-
Resume a paused webhook subscription. Any queued events will be
delivered to the configured URL.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
responses:
'200':
description: Subscription resumed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/{subscriptionId}/test:
post:
operationId: testSubscription
summary: Argus Enterprise Send a Test Event
description: >-
Send a test webhook event to the subscription endpoint to verify
connectivity and payload handling.
tags:
- Subscriptions
parameters:
- $ref: '#/components/parameters/subscriptionId'
responses:
'200':
description: Test event sent successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TestResult'
'404':
description: Subscription not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/events:
get:
operationId: listEvents
summary: Argus Enterprise List Webhook Events
description: >-
Retrieve a paginated list of webhook events with delivery status,
filterable by event type, subscription, and date range.
tags:
- Events
parameters:
- name: subscriptionId
in: query
description: Filter by subscription
schema:
type: string
format: uuid
- name: eventType
in: query
description: Filter by event type
schema:
type: string
- name: status
in: query
description: Filter by delivery status
schema:
type: string
enum:
- Pending
- Delivered
- Failed
- Retrying
- name: from
in: query
description: Start of date range
schema:
type: string
format: date-time
- name: to
in: query
description: End of date range
schema:
type: string
format: date-time
- name: page
in: query
schema:
type: integer
minimum: 1
default: 1
- name: pageSize
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 25
responses:
'200':
description: Events retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/EventList'
'401':
description: Unauthorized
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/events/{eventId}:
get:
operationId: getEvent
summary: Argus Enterprise Get a Webhook Event
description: >-
Retrieve details about a specific webhook event, including the
payload, delivery attempts, and response information.
tags:
- Events
parameters:
- $ref: '#/components/parameters/eventId'
responses:
'200':
description: Event retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
description: Event not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/events/{eventId}/retry:
post:
operationId: retryEvent
summary: Argus Enterprise Retry Event Delivery
description: Manually retry delivery of a failed webhook event.
tags:
- Events
parameters:
- $ref: '#/components/parameters/eventId'
responses:
'202':
description: Retry initiated
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'404':
description: Event not found
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/health:
get:
operationId: getWebhookHealth
summary: Argus Enterprise Get Service Health
description: >-
Check the health status of the webhook service, including delivery
queue depth and recent error rates.
tags:
- Health
responses:
'200':
description: Service health information
content:
application/json:
schema:
$ref: '#/components/schemas/HealthStatus'
security: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: >-
OAuth 2.0 Bearer token obtained from the Argus Enterprise Core API
authentication endpoint.
parameters:
subscriptionId:
name: subscriptionId
in: path
required: true
description: Unique identifier of the webhook subscription
schema:
type: string
format: uuid
eventId:
name: eventId
in: path
required: true
description: Unique identifier of the webhook event
schema:
type: string
format: uuid
schemas:
Subscription:
type: object
properties:
id:
type: string
format: uuid
description: Unique subscription identifier
url:
type: string
format: uri
description: HTTPS endpoint URL for webhook delivery
eventTypes:
type: array
items:
type: string
enum:
- property.created
- property.updated
- property.deleted
- valuation.created
- valuation.updated
- lease.created
- lease.updated
- lease.expired
- portfolio.created
- portfolio.updated
- portfolio.deleted
- report.completed
- report.failed
- cashflow.updated
- tenant.created
- tenant.updated
description: Event types this subscription receives
status:
type: string
enum:
- Active
- Paused
- Disabled
description: Current subscription status
secret:
type: string
description: >-
Shared secret for HMAC-SHA256 signature verification of webhook
payloads (only returned on creation)
description:
type: string
description: Human-readable description of the subscription
retryPolicy:
$ref: '#/components/schemas/RetryPolicy'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
SubscriptionInput:
type: object
required:
- url
- eventTypes
properties:
url:
type: string
format: uri
description: HTTPS endpoint URL for webhook delivery
eventTypes:
type: array
items:
type: string
enum:
- property.created
- property.updated
- property.deleted
- valuation.created
- valuation.updated
- lease.created
- lease.updated
- lease.expired
- portfolio.created
- portfolio.updated
- portfolio.deleted
- report.completed
- report.failed
- cashflow.updated
- tenant.created
- tenant.updated
minItems: 1
description:
type: string
retryPolicy:
$ref: '#/components/schemas/RetryPolicy'
SubscriptionList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Subscription'
RetryPolicy:
type: object
properties:
maxRetries:
type: integer
minimum: 0
maximum: 10
default: 5
description: Maximum number of delivery retry attempts
retryIntervalSeconds:
type: integer
minimum: 10
maximum: 3600
default: 60
description: Initial interval between retries in seconds
backoffMultiplier:
type: number
format: double
minimum: 1.0
maximum: 5.0
default: 2.0
description: Exponential backoff multiplier
Event:
type: object
properties:
id:
type: string
format: uuid
description: Unique event identifier
subscriptionId:
type: string
format: uuid
description: Subscription that received this event
eventType:
type: string
description: Type of event
status:
type: string
enum:
- Pending
- Delivered
- Failed
- Retrying
description: Delivery status
payload:
type: object
description: Event payload data
properties:
eventId:
type: string
format: uuid
eventType:
type: string
timestamp:
type: string
format: date-time
resourceType:
type: string
description: Type of resource that triggered the event
resourceId:
type: string
format: uuid
description: Identifier of the resource
data:
type: object
description: Resource data at the time of the event
deliveryAttempts:
type: array
items:
$ref: '#/components/schemas/DeliveryAttempt'
createdAt:
type: string
format: date-time
DeliveryAttempt:
type: object
properties:
attemptNumber:
type: integer
description: Sequential attempt number
timestamp:
type: string
format: date-time
description: When the delivery was attempted
responseCode:
type: integer
description: HTTP response status code from the endpoint
responseTime:
type: integer
description: Response time in milliseconds
success:
type: boolean
description: Whether the delivery was successful
errorMessage:
type: string
description: Error message if delivery failed
EventList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Event'
pagination:
type: object
properties:
page:
type: integer
pageSize:
type: integer
totalItems:
type: integer
totalPages:
type: integer
TestResult:
type: object
properties:
success:
type: boolean
description: Whether the test event was delivered successfully
responseCode:
type: integer
description: HTTP response code from the endpoint
responseTime:
type: integer
description: Response time in milliseconds
errorMessage:
type: string
description: Error details if the test failed
HealthStatus:
type: object
properties:
status:
type: string
enum:
- Healthy
- Degraded
- Unhealthy
description: Overall service health
queueDepth:
type: integer
description: Number of events pending delivery
recentErrorRate:
type: number
format: double
description: Error rate over the last hour (percentage)
uptime:
type: string
description: Service uptime duration
lastChecked:
type: string
format: date-time
description: Timestamp of last health check