Loading…
Loading…
Technical reference for the Admin API (/admin/v1). Manage WSDL imports, services, operations, backends, versioning, and observability.
The Admin API provides the control plane for the SOAP-to-REST platform. It is a comprehensive REST API for all administrative and configuration tasks, including importing WSDLs, creating and managing services, configuring backends, editing mappings, generating OpenAPI specifications, and querying observability data. All actions available in the no-code UI are performed by calling this API.
The API is intended for programmatic management and automation by API publishers. It operates on a role-based access control (RBAC) model, where the caller's identity and permissions are resolved from forwarded identity provider (IdP) headers.
/admin/v1S2R-ADM-* or S2R-VAL-*.You can retrieve the current caller's identity and assigned application role by making a request to GET /admin/v1/me.
The Admin API enables a structured workflow for onboarding and managing a SOAP service as a REST API. The typical process involves importing a contract, configuring the service, and activating it for runtime traffic.
flowchart TD
subgraph "1. Onboarding"
A[Import WSDL] --> B{Generate Draft Service};
end
subgraph "2. Configuration & Testing"
B --> C[Configure Operations & Mappings];
C --> D[Define Backend Profile];
D --> E[Test Backend Connection & Mappings];
end
subgraph "3. Activation"
E --> F[Check Publish Readiness];
F --> G{Activate Service Version};
end
subgraph "4. Operation"
G --> H[Expose REST API via Runtime];
H --> I[Monitor via Observability API];
end
style G fill:#d4edda,stroke:#c3e6cbThese endpoints manage the ingestion of WSDL contracts, which is the first step in creating a service. The API supports import from a file, a URL, or raw XML, and provides tools for diagnosing and repairing WSDLs before import.
| Method & Path | Description |
|---|---|
POST /admin/v1/wsdl/import | Uploads a WSDL file. The request must be multipart/form-data with the file in the file field. |
POST /admin/v1/wsdl/import-url | Fetches and imports a WSDL from a specified URL. |
POST /admin/v1/wsdl/import-xml | Imports a WSDL from a raw XML payload in the request body. |
POST /admin/v1/wsdl/namespace-repair-preview | Previews the automatic namespace declaration repairs the parser will perform. |
POST /admin/v1/wsdl/external-reference-preview | Checks the health and reachability of external WSDL or XSD references within a contract. |
POST /admin/v1/wsdl/repair-report | Provides combined repair diagnostics. The :repair-package variant returns a ZIP archive containing the repaired root WSDL and its resolved references. |
GET /admin/v1/wsdl/import/{artifactId} | Retrieves a previously persisted import artifact and its parsed operation catalog. |
POST /admin/v1/wsdl/import/{artifactId}/generate-service | Generates a new draft service, version, and operations from the specified import artifact. |
The :autopilot variants streamline onboarding by combining WSDL import and draft service generation into a single atomic operation. The response includes an import preview, a draft service suggestion, the generated objects, and a readiness assessment.
| Method & Path | Description |
|---|---|
POST /admin/v1/wsdl/import:autopilot | Imports a WSDL file and automatically generates a draft service. |
POST /admin/v1/wsdl/import-url:autopilot | Imports a WSDL from a URL and automatically generates a draft service. |
POST /admin/v1/wsdl/import-xml:autopilot | Imports WSDL XML and automatically generates a draft service. |
POST /admin/v1/wsdl/import/{artifactId}:autopilot | Generates a draft service from a previously imported WSDL artifact. |
POST /admin/v1/wsdl/import-urls:autopilot | Batch imports multiple WSDLs from a list of URLs. |
POST /admin/v1/wsdl/import-files:autopilot | Batch imports multiple WSDL files. |
These endpoints are used to manage the lifecycle of services and their constituent operations.
A service is a logical grouping for a set of related operations.
| Method & Path | Description |
|---|---|
POST /admin/v1/services | Creates a new logical service. The payload includes serviceKey, serviceName, and environment. |
GET /admin/v1/services | Lists all services with pagination. Supports filtering by q (query), environment, and traffic. |
GET /admin/v1/services/{serviceId} | Retrieves a single service by its ID. |
PATCH /admin/v1/services/{serviceId} | Updates a service's metadata, status (active/disabled), and debugEnabled flag. |
POST /admin/v1/services:bulk-action | Performs a bulk action (enable, disable, debug_on, debug_off, delete) on a set of services. |
DELETE /admin/v1/services/{serviceId} | Soft-deletes a service by setting its status to deprecated. |
DELETE /admin/v1/services/{serviceId}:hard-delete | Permanently deletes a service and all its dependent objects. This action is restricted to administrators and will be rejected if the service is active. |
Operations represent the individual API methods. Mappings define the transformation between the REST and SOAP message formats.
IMPORTANT
Edits to operations and their mappings are only permitted when the parent service version is in a draft state. Attempting to modify an active, immutable service version will fail with a 409 Conflict error and code S2R-ADM-0410.
| Method & Path | Description |
|---|---|
GET /admin/v1/services/{serviceId}/versions/{versionId}/operations | Lists all operations for a specific service version. |
PATCH /admin/v1/operations/{operationId} | Edits an operation's restMethod, restPath, timeoutMs, or retryCount. |
GET / PATCH /admin/v1/operations/{operationId}/validation-rules | Reads or overrides per-field validation rules for requests and responses. |
GET / PUT /admin/v1/operations/{operationId}/transform-rules | Reads or replaces the set of no-code transformation rules (trim, uppercase, lowercase, default_value, rename, split, join, date_format). |
GET / PUT /admin/v1/operations/{operationId}/mapping | Reads or replaces the complete request, response, and fault mapping for an operation. A PUT request deactivates the previous mapping and creates a new, versioned mapping. |
GET /admin/v1/operations/{operationId}/mapping-diagnostics | Retrieves the readiness status for a single operation's mapping (AUTO_READY, AUTO_READY_WITH_WARNINGS, MANUAL_REQUIRED). |
GET /admin/v1/services/{serviceId}/mapping-diagnostics | Retrieves mapping diagnostics for all operations in a service, with summary counters. |
POST /admin/v1/operations/{operationId}/mapping:regenerate | Regenerates the automated mapping from the stored WSDL contract, preserving any existing fault mapping. |
POST /admin/v1/services/{serviceId}/mapping:regenerate | Regenerates mappings for all operations in a draft service version. |
A backend profile stores the configuration for connecting to the downstream SOAP service, including its endpoint URL, authentication method, and credentials.
NOTE
Credentials are write-only and are never returned in API responses. When credentials are set or updated, the API returns only a metadata envelope confirming the action, such as { "set": true, "lastUpdatedAt": "...", "lastUpdatedBy": "..." }. All credential material is encrypted at rest.
| Method & Path | Description |
|---|---|
GET / POST /admin/v1/services/{serviceId}/backend-profiles | Lists existing backend profiles or creates a new one for a service. |
PATCH /admin/v1/backend-profiles/{profileId} | Updates a profile's endpoint URL, authentication settings, timeout, or retry configuration. |
DELETE /admin/v1/backend-profiles/{profileId} | Deletes a backend profile. If it was the default, another profile is assigned as the new default. |
POST /admin/v1/backend-profiles/{profileId}:test-connection | Runs diagnostic tests for DNS resolution, TCP connectivity, and WSDL fetching from the backend URL. |
POST /admin/v1/backend-profiles/{profileId}:test-application | Executes a real SOAP request against the backend for a single operation and saves preview payloads. |
POST /admin/v1/backend-profiles/{profileId}:test-generated-samples | Automatically generates sample request payloads from the contract and runs application tests for one or more operations. |
POST /admin/v1/backend-profiles/{profileId}:test-rest | Executes a REST-style test against the backend. |
GET /admin/v1/backend-profiles/{profileId}/test-previews | Retrieves recently saved test preview payloads for the profile. |
Supported authType values for backend profiles are none, basic, bearer, api_key_header, and oauth2_client_credentials. Mutual TLS can be enabled via the mtlsEnabled=true flag and is configured independently of the authType.
This functional area also includes endpoints for managing synthetic monitors (/admin/v1/services/{serviceId}/synthetic-monitor) and reusable test datasets (/admin/v1/services/{serviceId}/test-datasets).
The platform uses a versioning system to manage changes. A service version is a snapshot of its operations and their mappings. Only draft versions can be edited. Activating a draft makes it immutable and deploys it to the runtime.
| Method & Path | Description |
|---|---|
GET /admin/v1/services/{serviceId}/versions | Lists all versions for a service, with the newest first. |
POST /admin/v1/services/{serviceId}/versions | Creates a new draft version by cloning the operations and active mappings of the latest version. Fails if a draft already exists. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/publish-readiness | Provides a readiness assessment (READY_TO_PUBLISH, READY_WITH_RISK, BLOCKED) with a list of checks, blocking issues, and suggested actions. |
POST /admin/v1/services/{serviceId}/versions/{versionId}:activate | Activates a draft version, making it the live version for the service. This action is guarded by the readiness check; a BLOCKED draft cannot be activated. |
POST /admin/v1/services/{serviceId}/versions/{versionId}:rollback | Rolls back the active configuration to a previously activated, specified version. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/wsdl-drift | Assesses drift between the service version's contract and the newest comparable WSDL import (UP_TO_DATE, DRIFT_DETECTED, BREAKING_DRIFT, UNTRACKED). |
POST /admin/v1/services/{serviceId}/versions/{versionId}:generate-replacement-draft | Creates a new draft from a newer WSDL import, preserving REST route, timeout, and retry settings for operations that still exist in the new contract. |
These endpoints generate and provide access to OpenAPI v3 specifications for activated service versions.
| Method & Path | Description |
|---|---|
POST /admin/v1/services/{serviceId}/versions/{versionId}:generate-openapi | Generates an OpenAPI v3 artifact for a service version. This is an admin-only operation. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/openapi | Downloads the generated OpenAPI v3 specification in JSON format. The response includes an X-OpenAPI-SHA256 header for integrity checking. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/openapi/package | Downloads a ZIP archive containing the openapi.json file, mapping-metadata.json, and checksums.json. |
These endpoints manage global platform settings and user access control.
| Method & Path | Description |
|---|---|
GET / PATCH /admin/v1/settings | Reads or updates mutable platform settings, such as default_timeout_ms, default_retry_count, default_retention_days, debug toggles, and SMTP settings for alerts. |
GET /admin/v1/settings/alert-mail-history | Retrieves the delivery history for recent SMTP alerts. |
GET / PUT /admin/v1/role-bindings | Reads or replaces the bindings between IdP groups and application roles. |
GET / POST / DELETE /admin/v1/permission-bindings/{bindingId} | Manages direct user-to-role assignments within the application. These are used as a fallback when group-based lookups are not available. |
All changes to settings or roles generate an audit event.
These endpoints provide access to aggregated metrics, logs, and audit trails. To ensure query performance, most endpoints read from pre-computed aggregation tables rather than raw log data.
| Method & Path | Description |
|---|---|
GET /admin/v1/metrics | Retrieves aggregated metrics for a specified window (15m, 1h, 24h, 7d, 30d, 60d), including request/error counts, p50/p95/p99 latency, and converter overhead. |
GET /admin/v1/slo-report | Returns SLO status, including availability and latency targets, breach detection, and a historical timeline. |
GET /admin/v1/service-metric-timeline | Provides a time-series trend of request and error counts for a specific service. |
GET /admin/v1/runtime-logs | Searches runtime logs with pagination. Supports filtering by environment, service, operation, correlationId, resultCode, and time window. |
GET /admin/v1/backend-test-previews | Searches saved backend test preview payloads. |
GET /admin/v1/async-executions | Searches for asynchronous callback executions. Includes endpoints for replaying, reprocessing, and manually completing or failing executions. |
GET /admin/v1/observability-filter-options | Provides lists of possible values for UI filter dropdowns. |
GET /admin/v1/debug-traces/{correlationId} | Retrieves debug trace payloads and replay metadata for a given correlation ID. |
GET /admin/v1/audit-events | Queries the audit event history with pagination and time window filters. |
API errors are returned in a standard envelope containing a machine-readable error code. Codes related to the Admin API are prefixed with S2R-ADM-* or S2R-VAL-* for validation errors.
| Status Code & Error Code | Triggering Condition | Description |
|---|---|---|
409 Conflict S2R-ADM-0410 | Attempting to modify an active (immutable) service version. | Operations, mappings, and other version-specific settings can only be changed on a draft version. |
409 Conflict S2R-ADM-0410 | Attempting to activate a service version with a BLOCKED readiness status. | The service version has blocking issues that must be resolved before it can be activated. Use the publish-readiness endpoint to see the issues. |
409 Conflict S2R-ADM-0410 | Attempting to hard-delete an active service. | A service must be disabled or deprecated before it can be permanently deleted. |
409 Conflict S2R-ADM-0410 | Attempting to create a new draft version when one already exists for the service. | A service can only have one draft version at a time. The existing draft must be activated or deleted before a new one can be created. |