Skip to main content

UDMG as AS2 Client

The UDMG as AS2 Client Pipeline type represents a standard AS2 transfer scenario in which UDMG acts as the sender, pushing files from a local filesystem to your partner's AS2 Receiver.

This Pipeline consists of:

Before You Begin

Prerequisites

Before configuring this Pipeline, we recommend you first:

  • Obtain your partner's AS2 Server connection details from their administrator, including hostname, port, and authentication credentials.
  • Identify your local source directory and ensure that UDMG has the necessary permissions to read files from it.
  • Test network connectivity to your partner's AS2 Server and manually verify that authentication succeeds.
  • Prepare API integration setup and have a UDMG User with domain-level permissions.

Understanding Paths in AS2 Client Pipelines

When configuring a UDMG as AS2 Client Pipeline, several path fields determine where files are read from locally and where they are sent to.

Each path has a specific role and is combined during runtime to build the complete source path and destination URL used in transfers.

Paths Concatenation in AS2 Client Pipelines

Depends on the domain_chroot argument defined in the Configuration File, which specifies the base path UDMG prepends at runtime. Valid argument values are:

  • NONE: No path is added.
  • WORKDIR: The file path is resolved relative to the work_directory_path argument defined in the Configuration File.
  • WORKDIR+DOMAIN: Same as WORKDIR, but UDMG also prepends the Domain name. For example, if the work_directory_path is /home/udmg/ and the Domain name is primary, the resulting path portion is /home/udmg/primary.
info
  • Default value for domain_chroot is WORKDIR+DOMAIN.
  • Default value for work_directory_path is /home/udmg/.

Authentication to Partner's AS2 Server

When UDMG connects to your partner's AS2 Server as a client, authentication can occur in one of two ways, depending on the Server configuration and how it responds during the initial HTTPS handshake.

Partner ID and Certificate Mapping (Standard)

This is the default and most common AS2 authentication method, where:

  1. UDMG identifies itself using the AS2 Identifiers and Credentials configured in the Remote AS2 Server Endpoint.
  2. The partner's AS2 Server validates this identifier against its own configuration, using the digital certificate previously exchanged between both parties.
  3. Authentication and trust are fully managed through the AS2 protocol's built-in signing and encryption mechanisms (no additional credentials are required).

Partner ID, Certificate, and Basic Authentication

Some partners add an extra Basic Authentication layer before AS2 message exchange begins. In these cases:

  1. UDMG uses the Username and Password credentials referenced in the Pipeline configuration to authenticate during the HTTPS request.
  2. This Basic Authentication step occurs prior to the the AS2 protocol negotiation, acting as a gatekeeper that limits access to authorized clients.

Authentication Flow

UDMG determines which authentication path to use based on two factors:

Credentials were added to the PipelineThe AS2 Server requires Basic AuthBehavior
UDMG performs Basic Auth (using the supplied credentials), then proceeds with Partner ID-Certificate mapping for AS2 message exchange.
UDMG proceeds with standard Partner ID-Certificate mapping only.
Connection fails with an authentication error.

Transfer Initialization via Scheduled API

When UDMG acts as a client, each transfer must be explicitly scheduled and triggered through the Transfers Scheduled API, considering the configuration provided at the Pipeline and Endpoint levels and the HTTP request.

You must first create the Pipeline using the Field Descriptions below, providing Endpoint-specific information.

From there, to initiate a Transfer, you must submit an API request using the API Endpoint with the Pipeline name, the location and name of the file on UDMG to be transferred, and the execution timestamp.

This design enables precise control over file movement and allows each Transfer to be dynamically customized and scheduled.

API Endpoint

Path
POST /api/v1/domains/${UDMG_DOMAIN_NAME}/transfers
Request Body

The request body includes the following fields:

KeyDescriptionFormatRequired
pipelineName of the Pipeline.Exact match to the Pipeline's Name field.Yes
whenDate and time of when to execute the file transfer. If a date in the past is provided, then the Transfer is initiated after the next system pending transfer check (transfer.checkInterval parameter is defaulted to every minute). Must be in RFC3339 format ("2025-01-01T00:00:00Z"). Yes
sourceRefer to Understanding Paths.Yes
Schedule a File Transfer via API

Use the following curl command to schedule a file transfer through the Transfers Scheduled API:

curl http://<UDMG_HOST>/api/v1/domains/${UDMG_DOMAIN_NAME}/transfers \
-X POST \
-H "Content-Type: application/json" \
-d '{
"pipeline": "Pipeline_Supplier",
"when": "2025-07-03T15:43:52.344Z",
"source": "/Form1000.dat",
"destination": "/Received/Form1000.dat"
}'
View the List of Scheduled Transfers

Use the following curl command to view the list of scheduled transfers:

  curl http://<UDMG_HOST>/api/v1/domains/${UDMG_DOMAIN_NAME}/transfers/scheduled
-X GET \
-H "Content-Type: application/json" \

Response example:

{
"id": 1,
"pipeline": "Pipeline_Supplier",
"username": "robi",
"source": "/data/August/Form1000.dat", // Root File Path + Relative Path + source
"destination": "/Taxes/Received/Form1000.dat", // Virtual Path + destination
"schedule": "2025-07-03T15:43:52.344Z",
"status": "Completed",
"executedAt": "2025-08-22T20:44:02Z",
"completedAt": "2025-08-22T20:44:02Z"
}

Adding a Pipeline

To add a UDMG as AS2 Client Pipeline, follow these steps:

  1. From the Sidebar, select Configuration > Pipelines.
  2. Click Add Pipeline.
  3. Complete the Name for the new Pipeline.
  4. Select the Source Endpoint with a Local Filesystem Endpoint type.
  5. Select the Destination Endpoint with a Remote AS2 Server Endpoint type.
  6. Fill out the dynamic fields following the Field Descriptions table.
  7. Click Add.
warning

UDMG does not allow for the creation of identical Pipelines (even with unique names). The Pipeline must pass the Source Endpoint + Destination Endpoint + Permissions + Virtual Path uniqueness check. See Pipelines for more information on Pipeline validation checks.

Field Descriptions

NameDescriptionSpecificationsRequired
NameThe name of the Pipeline.Yes
DescriptionThe description of the Pipeline.No
Source EndpointThe Endpoint that represents the source of expected data.Yes
Destination EndpointThe Endpoint that represents the destination for the expected data.Yes
Relative Path

Path to the directory where the source file is located.

For more information, refer to Understanding Paths.

  • Format:
    • /
    • /[path]
    • /[path]/[subdir]/
  • The path and subdirectory should not be included if they are added in the source parameter.
Yes
Virtual Path

Path where the destination file will be written on your partner's AS2 Server.

For more information, refer to Understanding Paths.

  • Format:
    • /
    • /[path]
    • /[path]/[subdir]
Yes
Credentials NameThe client authentication Credentials used to authenticate to your partner's AS2 Server.Must reference an already created Username and Password.Yes, if your AS2 partner requires Basic Authentication.
Universal EventWhile this field is currently in the form, it's not used in the remote transfer configuration.No

Editing a Pipeline

To edit a UDMG as AS2 Client Pipeline, follow these steps:

  1. From the Sidebar, select Configuration > Pipelines.
  2. Click the Name of the Pipeline you want to edit.
  3. Click the Edit button above the Pipeline details.
  4. Edit details for the Pipeline.
    • The Source Endpoint and Destination Endpoint cannot be changed after creation.
  5. Click Update.
warning

Upon Pipeline update, UDMG checks for Endpoint Source + Endpoint Destination + Configuration + Virtual Path uniqueness.

Managing a Pipeline

All Pipelines support the ability to view the complete Pipeline and linked Endpoint details.

Viewing Pipeline Details

To view the details of a UDMG as AS2 Client Pipeline, follow these steps:

  1. From the Sidebar, select Configuration > Pipelines.
  2. Click the Name of the Pipeline you want to view.
  3. Click the Overview Tab or Details Tab to see additional Pipeline and Endpoint details.

Pipeline Metadata

Pipeline details include all parameters given in the Field Descriptions table, plus the following read-only metadata:

NameDescription
UUIDUniversally Unique Identifier of this Pipeline.
VersionVersion number of the configuration. Every change increases the number.
EnabledPipeline's Enabled status. If enabled, field is set to True.
CreatedDate and time this Pipeline was created.
UpdatedDate and time this Pipeline was last updated.

Enabling and Disabling Pipelines

Pipelines can be Enabled or Disabled to control their active status and ability to participate in file transfers. The status is defaulted to Enabled and can be changed after creation. The Configuration Item's Disabled status does not impact whether it can be configured. Also, Disabled Endpoints can be added to a Pipeline.

  • Enabled (default): The Pipeline is active and allows file transfers.
  • Disabled: The Pipeline is inactive and does not allow file transfers.

To enable or disable a Pipeline, follow these steps:

  1. From the Sidebar, select Configuration > Pipelines.
  2. Click the Name of the Pipeline you want to enable or disable.
  3. Click the Enable or Disable button above the Pipeline details.
  4. If the Pipeline is Disabled, then the button displays Enabled. If the Pipeline is Enabled, then the button displays Disabled.
  5. Click Update.
info
Changes to a Pipeline's Enabled/Disabled status take effect the next time the Transfers Scheduled API is triggered. Disabling a Pipeline is a safe alternative to deleting it.

Deleting a Pipeline

To delete a UDMG as AS2 Client Pipeline, follow these steps:

  1. From the Sidebar, select Configuration > Pipelines.
  2. Click the Name of the Pipeline you want to delete.
  3. Click the Delete button above the Pipeline details.
  4. You will be asked to confirm the deletion. Click Delete.

Monitoring a Pipeline

To monitor and determine the status of a Pipeline, the Transfers page and Endpoints page must be monitored to track incoming Transfers and the Source and Destination Endpoints' individual statuses, respectively.

On the Transfers page, the following fields indicate the type of Transfer:

  • Is Schedule: If Yes, then the Transfer was a Remote Transfer.
  • Is Send: If Yes, then the Remote Transfer was a push scenario.