ARGUS Enterprise Subscriptions API

Manage webhook subscriptions

OpenAPI Specification

argus-enterprise-subscriptions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Argus Enterprise Core Authentication Subscriptions API
  description: Core REST API for the ARGUS Enterprise platform by Altus Group, providing programmatic access to commercial real estate investment management capabilities including property data, portfolio management, cash flow projections, valuations, tenants, leases, and reporting. ARGUS Enterprise is an industry-standard platform for commercial real estate valuation and asset management used by investors, appraisers, and portfolio managers.
  version: '1.0'
  contact:
    name: Argus API Support
    email: api-support@argusenterprise.com
    url: https://support.argusenterprise.com
  termsOfService: https://www.altusgroup.com/terms-of-use
servers:
- url: https://api.argusenterprise.com/v1
  description: Argus Enterprise Production
security:
- bearerAuth: []
tags:
- name: Subscriptions
  description: Manage webhook subscriptions
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
components:
  schemas:
    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
    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
    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'
    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
    SubscriptionList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Subscription'
  parameters:
    subscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: Unique identifier of the webhook subscription
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 Bearer token obtained from the /auth/token endpoint using client credentials.
externalDocs:
  description: Argus Enterprise API Documentation
  url: https://docs.argusenterprise.com/api/v1