Skip to main content
POST
/
ddex
/
tenant-providers
curl --request POST \
  --url https://api.royalti.io/ddex/tenant-providers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "providerId": "123e4567-e89b-12d3-a456-426614174000",
  "deliveryMethod": "SFTP",
  "credentials": {
    "host": "ftp.provider.com",
    "port": 22,
    "username": "myuser",
    "password": "mypassword",
    "remotePath": "/incoming/ddex",
    "secure": true
  },
  "priority": 50
}
'
{
  "status": "<string>",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "TenantId": 123,
    "providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "LabelId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "isEnabled": true,
    "deliveryMethod": "SFTP",
    "priority": 123,
    "customSettings": {},
    "rateLimits": {},
    "acknowledgementSettings": {},
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Description

The credentials object structure depends on the deliveryMethod:
  • SFTP: Use SFTPCredentials schema (host, port, username, password, remotePath)
  • FTP: Use SFTPCredentials schema with port 21
  • HTTP/HTTPS: Use HTTPCredentials schema (apiUrl, authType, bearerToken/apiKey)
  • AS2: Use AS2Credentials schema (endpoint, as2From, as2To)
  • WebDAV: Use WebDAVCredentials schema (url, username, password)
Credentials are encrypted at rest using PostgreSQL pgcrypto.

Code Examples

const response = await fetch('https://api.royalti.io/ddex/tenant-providers', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "providerId": "sample-providerId",
    "labelId": "sample-labelId",
    "deliveryMethod": "sample-deliveryMethod",
    "customSettings": {},
    "priority": 1,
    "rateLimits": {},
    "acknowledgementSettings": {}
  })
});

const data = await response.json();
console.log(data);

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
providerId
string<uuid>
required

ID of the DDEX provider from the provider catalog

deliveryMethod
enum<string>
required

Delivery protocol to use

Available options:
SFTP,
FTP,
HTTP,
HTTPS,
AS2,
WebDAV
credentials
object
required

Credentials for SFTP/FTP delivery method

labelId
string<uuid> | null

Optional label ID for label-specific configuration

customSettings
object

Provider-specific custom settings

priority
integer
default:50

Priority for this provider (higher = preferred)

rateLimits
object

Rate limiting configuration

acknowledgementSettings
object

MDN/acknowledgement settings

Response

Created

status
string
data
object