Application types
Application types is a catalog of the kinds of service an application can represent: HTTP, HTTPS, SSH, MySQL,
and so on.
Every provider sees a single catalog. Most of it is the standard (built-in) set of application types that ships with
Customer Connect. Any application in the provider whose type is set to custom also appears in the
catalog as a type of its own. Both kinds of entries are returned by the same endpoint. A custom boolean on each row
tells you which is which.
Fields
| Field | Description | Example |
|---|---|---|
id | Unique ID. Standard rows have a fixed catalog id; custom rows are computed deterministically from the address tuple | 4ec0a1b2-3c4d-4e5f-6789-0abcdef01234 |
name | Type name (e.g. HTTP, HTTPS, SSH). 1–100 chars | HTTPS |
protocol | Transport protocol — TCP, UDP, or TCP_UDP | TCP |
listenAddress | Listen address. null for standard rows; populated for custom rows from the application's service address | 10.10.1.2 |
listenPort | Listen port or port range (e.g. 443, 67-68) | 443 |
forwardAddress | Boolean flag. true = forward the listened-on address through; false = use the fixed targetAddress | false |
targetAddress | Fixed target address. Required when forwardAddress=false; must be null/absent when forwardAddress=true | 127.0.0.1 |
allowedAddresses | Permitted forward addresses (IPs, CIDR blocks, or hostnames). Required non-empty list when forwardAddress=true; must be empty/absent when forwardAddress=false | ["10.0.0.1","10.0.0.2"] |
forwardPort | Boolean flag. true = forward the listened-on port through; false = use the fixed targetPort | false |
targetPort | Fixed target port as an integer. Required when forwardPort=false; must be null/absent when forwardPort=true. Seeded equal to listenPort for standard rows | 443 |
allowedPorts | Permitted forward ports or port ranges. Required non-empty list when forwardPort=true; must be empty/absent when forwardPort=false | ["80","443","8080-8090"] |
custom | false for standard rows; true for rows derived from a custom application | false |
Standard catalog
Customer Connect defines standard application types covering the most common services (HTTP/80, HTTPS/443, SSH/22,
MySQL/3306, …). When you set the type on an application, it must match the name of one of these standard types
(case-insensitive), or be set to custom.
Each standard row has:
id,name,protocollistenPort, plusforwardPort=falseandtargetPortseeded equal tolistenPortlistenAddressandtargetAddressset tonull(standard rows have no fixed target until a custom application supplies one);forwardAddress=falseallowedAddressesandallowedPortsarenullon standard rows
Custom types from a provider's applications
Any application in the provider whose type is custom also appears in the application-types list, one row per unique
(listenAddress, listenPort, targetAddress, targetPort, protocol) tuple. This lets a provider see, at a glance, every
non-standard application address combination in use.
The custom boolean distinguishes the two:
custom: false: A standard, built-in type.custom: true: A row derived from an application whose type iscustom.
Pass include=STANDARD to exclude the custom rows, or include=CUSTOM to return only custom rows. The default is
include=ALL.
Filter behavior
Filters on protocol, listenAddress, listenPort, targetAddress, targetPort, allowedAddress, allowedPort
apply to both kinds of rows, so irrelevant applications are never even loaded. The forwardAddress and forwardPort
filters take a boolean (true/false) and match the corresponding flag.
Validation of Application.type
Every application's type value must be:
- A standard application-type name (case-insensitive), or
- The value
custom.
Anything else returns 400 Bad Request at the API boundary.