Proactis · AsyncAPI Specification

Proactis Webhooks

Version

View Spec View on GitHub ProcurementPurchase-To-PaySource-to-PaySpend ManagementContract ManagementE-InvoicingAccounts PayableSupplier ManagementeSourcingcXMLUBLSCIMAsyncAPIEvents

AsyncAPI Specification

proactis-webhooks.yml Raw ↑
generated: '2026-08-27'
method: searched
source: https://docs.proactis.com/using-the-api/transactions/push-transactions
docs: https://docs.proactis.com/using-the-api/transactions/push-transactions
provider: Proactis
providerId: proactis
name: Proactis push transactions (webhook surface)
description: >-
  Proactis ships a real outbound event surface, though it does not call it webhooks. For
  transactional documents it will POST the document to a customer-specified endpoint each time
  the document reaches a given status. The delivery target, transport, content type and the
  credentials Proactis uses to authenticate to the customer are all configured through
  Communication Settings endpoints in the API itself, one configuration per environment.
asyncapi_spec: false
asyncapi_note: >-
  No AsyncAPI document is published, and no event catalog beyond the prose below. The surface is
  document-push rather than a general event bus — there are no create/update/delete event types,
  only "this document reached its export status, here it is".
surface_type: outbound-document-push
subscription_model: configuration
subscription_endpoints: >-
  Communication Settings endpoints exist per API (Receipt Communication Settings, Requisition
  Communication Settings, Timecard Communication Settings and equivalents appear in the reference
  navigation) with methods to set up, retrieve, update and delete endpoint configuration.
delivery:
  method: POST
  trigger: >-
    The document reaching the correct status. For requisitions, ERP orders, receipts and timecards
    the triggering status is fixed; for invoices it is configurable.
  payload_format: cXML
  default_content_type: application/xml
  attachments: >-
    Documents carrying attachments are delivered as a multipart request, default multipart/mixed.
    The receiving application must be able to parse multipart and extract the document and the
    attachments separately.
  multiple_endpoints: >-
    ERP orders support multiple endpoints, each receiving the same message. Requisitions, receipts,
    invoices and timecards support exactly one endpoint each.
  supported_uri_schemes: [http, https, ftp, sftp]
document_types:
  - name: Requisition
    trigger_status: fixed
    endpoints: 1
  - name: ERP Order
    trigger_status: fixed
    endpoints: multiple
    extra: Supports additional custom HTTP headers as key/value pairs (ERP orders only).
  - name: Receipt
    trigger_status: fixed
    endpoints: 1
  - name: Timecard
    trigger_status: fixed
    endpoints: 1
  - name: Invoice
    trigger_status: configurable
    endpoints: 1
    statuses:
      - CONCEPT
      - EXCEPTION
      - FORAPPROVAL
      - PROCESSED
      - CLEARED
      - SENT
      - ONHOLD
      - FORVALIDATION
      - REJECTED
      - DELETED
      - ARCHIVED
      - FOREVALUATION
    note: >-
      Invoices can be exported in one or several statuses; the document is pushed once it reaches
      any configured status.
not_pushable: >-
  Only transactional documents can be pushed. All master data — suppliers, accounting structures,
  users, contracts — must be pulled with a client-initiated GET.
outbound_authentication:
  description: >-
    Zero, one or several authentication types can be combined on a single endpoint; for example
    OAUTH2 and API_KEY together.
  types:
    - type: BASIC
      fields: [username, password]
    - type: USERNAME_PASSWORD
      fields: [username, password]
      note: For FTP or SFTP targets.
    - type: OAUTH2
      fields: [clientId, clientSecret, scope, tokenUrl]
      note: Client credentials flow only. scope is optional, space-separated for multiples.
    - type: API_KEY
      fields: [apiKeyHeaderName, apiKey]
      note: Header name is configurable rather than fixed.
configuration_fields:
  - {name: id, description: 'Unique endpoint name. ERP orders only.'}
  - {name: url, description: 'Endpoint URI. http://, https://, ftp:// or sftp://.'}
  - {name: multipartContentType, description: 'Override the default multipart/mixed content type.'}
  - {name: contentType, description: 'Override the default application/xml content type.'}
  - {name: authentications, description: 'Zero, one or several authentication blocks.'}
  - {name: headers, description: 'Additional custom HTTP headers as key/value pairs. ERP orders only.'}
  - {name: exportStatus, description: 'Invoice export status or statuses. Invoice only.'}
acknowledgement:
  required: true
  format: cXML Response document
  success: '<Response><Status code="200" text="OK"/></Response>'
  failure_example: '<Status code="500" text="The incoming cXML is not in a known format">'
  behaviour: >-
    Proactis reads the code attribute of the Status element to mark the delivery in the in-product
    widget. On error, the contents of the Status element are displayed there. If no response, or
    no valid cXML response, is received the widget shows an error.
gaps:
  - >-
    NO SIGNATURE VERIFICATION. Proactis authenticates itself to the receiver using credentials the
    receiver supplies, but no payload signing, HMAC, shared secret over the body, or mTLS is
    documented — so a receiver cannot cryptographically verify that a POST originated from Proactis.
  - >-
    NO RETRY OR DELIVERY GUARANTEE IS DOCUMENTED. A failed or unacknowledged delivery is surfaced in
    a widget for a human to notice. There is no stated retry schedule, no dead-letter behaviour, no
    replay endpoint and no delivery log an integration can query.
  - >-
    NO EVENT CATALOG AND NO ASYNCAPI. The trigger is a document status transition, and for four of
    the five document types the triggering status is fixed and not stated in the docs.
  - >-
    Delivery status is observable only through the in-product widgets, which are a UI surface — an
    unattended integration has no programmatic way to learn that its endpoint has been failing.
  - >-
    ftp:// and http:// are accepted as delivery targets, meaning procurement documents can be
    configured to leave the platform unencrypted.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/proactis-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.