Loading…
Loading…
Configure the backend profile for a service, including endpoint URL, authentication, timeouts, retries, and multi-backend failover routing.
{/* AUTO-GENERATED from the docs pipeline — do not edit by hand /} {/ source doc_id: prd-s2r-docs-public-knowledgebase-onboarding-configure-backend · version: 1.7.7 */}
A service's backend profile contains the configuration that the API platform runtime uses to connect to the upstream service. It defines where and how the runtime sends the converted API call.
Backend settings are managed in the UI under Services → your service → Backend. When a service is created from a WSDL file, the platform infers an initial endpoint and SOAP version, which you must then confirm and complete in the backend profile.
The backend profile is central to the runtime's ability to process requests. The configuration flow involves initial setup, authentication, and optional multi-backend routing for high availability.
When you import a WSDL, the platform attempts to pre-fill the backend profile by inspecting the soap:address and binding information within the file. You are responsible for verifying these inferred settings and completing the configuration, including authentication details, timeouts, and retry policies.
Since v1.0, a service can be configured with multiple backends to enable routing and failover. This enhances service reliability.
The following diagram illustrates the failover flow when a primary backend is unavailable.
flowchart TD
A[API Consumer Request] --> B[API Platform];
subgraph B
C[Route to Backend] --> D{Primary Backend Available?};
D -- Yes --> E[Call Primary Backend];
D -- No --> F{Failover to Next Backend};
F --> G[Call Fallback Backend];
E --> H[Return Response];
G --> H;
end
E --> I[Primary Backend Service];
G --> J[Fallback Backend Service];All credentials stored in the backend profile, such as passwords or tokens, are encrypted at rest using pgcrypto.
IMPORTANT
Credentials are never logged or returned in plaintext in any API response. The encryption key is a critical secret managed at the platform level. For more details, see Security → Backend credential encryption.
Before relying on a new or updated backend configuration, use the test connection action in the UI to validate the endpoint URL and authentication settings. A successful test confirms that the runtime can connect to the backend.
The following settings are available in the backend profile, configured under Services → your service → Backend.
| Setting | Type | Default | Description |
|---|---|---|---|
| Endpoint URL | String | — | The address of the backend service the runtime will call. Inferred from the WSDL's soap:address on import, but can be edited. |
| SOAP version | SOAP 1.1 or SOAP 1.2 | — | The SOAP version for the backend. Detected from the WSDL binding on import. Since v1.0, the runtime can also auto-detect the version from the request body and Content-Type header. |
| Transport settings | Object | — | Defines backend-specific SOAP transport settings, such as Content-Type and SOAPAction handling. |
| Timeout | Integer (ms) | 100 | Per-operation request timeout in milliseconds. This is a system-level default that can be overridden for each operation. |
| Retries | Integer | 2 | The number of times to retry a failed request for an operation. This is a system-level default that can be overridden. |
The following authentication types are supported for outbound connections to the backend service.
| Auth Type | Description |
|---|---|
none | Connects without authentication. Suitable for backends within a trusted network segment. |
basic | Uses HTTP Basic authentication with a username and password. |
bearer | Authenticates using a static or externally-provisioned bearer token in the Authorization header. |
oauth2_client_credentials | Manages an OAuth2 client credentials grant flow. The runtime automatically requests and caches the access token. |
api_key_header | Passes a static API key in a custom-named HTTP header. |
| mTLS | Enables mutual TLS by presenting a client certificate. This is configured via mtls_enabled=true and can be combined with any other authentication type. |
The default timeout (100 ms) and retry count (2) are optimized for fast, low-latency backends, such as those co-located in the same virtual private cloud (VPC).
A common failure point is an incorrect backend configuration, such as a wrong endpoint URL or invalid credentials.
The runtime imposes a size limit on synchronous request payloads to protect system stability.
413 Payload Too Large status code. The corresponding internal error code is S2R-RUN-0413.upstream-failure-status option)