Loading…
Loading…
Technical reference for the Admin API control plane. Use these endpoints to import WSDLs, manage services, configure backends, and monitor performance.
The Admin API provides the administrative control plane for the platform. It is a RESTful API that underpins all configuration and management actions available in the user interface. API publishers use this interface to programmatically manage the entire lifecycle of a SOAP-to-REST service, from initial WSDL import to ongoing monitoring and maintenance.
The Admin API's responsibilities include:
All endpoints are located under the base path /admin/v1. Access to every endpoint is controlled by roles, with the caller's identity resolved from forwarded headers from an Identity Provider (IdP).
To retrieve information about the current authenticated user and their assigned application role, make a request to GET /admin/v1/me.
Error responses follow a standard envelope and include an error code prefixed with S2R-ADM-* for general admin errors or S2R-VAL-* for validation errors.
The entry point for creating a new service is importing its WSDL contract. The import endpoints validate, parse, and persist the WSDL and its catalog of operations. The response provides a detailed onboarding preview, including backend suggestions, a readiness summary, sample payloads for each operation, and a comparison against any previous similar 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 WSDL content provided directly as XML in the request body. |
POST /admin/v1/wsdl/namespace-repair-preview | Previews the automatic namespace declaration repairs the parser will perform on a given WSDL. |
POST /admin/v1/wsdl/external-reference-preview | Checks the health and reachability of external WSDL or XSD references before a full import. |
POST /admin/v1/wsdl/repair-report | Provides a combined diagnostics report for WSDL repairs. |
POST /admin/v1/wsdl/repair-report:repair-package | Returns a ZIP archive containing the repaired root WSDL and all its resolved external references. |
GET /admin/v1/wsdl/import/{artifactId} | Retrieves a previously persisted WSDL import artifact and its parsed operations by its ID. |
POST /admin/v1/wsdl/import/{artifactId}/generate-service | Creates a draft service, version, and operations from a persisted WSDL import artifact. |
The :autopilot variants provide a zero-touch onboarding experience by combining WSDL import and draft service generation into a single atomic call. These endpoints return a comprehensive response containing the import artifact preview, a draft service suggestion, the newly generated objects, and a publish-readiness assessment.
POST /admin/v1/wsdl/import:autopilot: Imports a WSDL file and generates a service.POST /admin/v1/wsdl/import-url:autopilot: Imports a WSDL from a URL and generates a service.POST /admin/v1/wsdl/import-xml:autopilot: Imports WSDL from a raw XML payload and generates a service.POST /admin/v1/wsdl/import/{artifactId}:autopilot: Generates a service from an already-imported WSDL artifact.POST /admin/v1/wsdl/import-urls:autopilot: Batch imports multiple WSDLs from URLs.POST /admin/v1/wsdl/import-files:autopilot: Batch imports multiple WSDL files.For more information, see the documentation on Zero-Touch Autopilot onboarding.
These endpoints manage the core entities of the platform: logical services and their REST/SOAP 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. Requires 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 or disabled), and debugEnabled flag. |
POST /admin/v1/services:bulk-action | Performs a bulk action (enable, disable, debug_on, debug_off, delete) on multiple 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 define the REST endpoint and its mapping to a backend SOAP operation. Mappings contain the transformation rules between REST and SOAP.
IMPORTANT
Edits to operations and mappings are only permitted when the parent service version is in a draft state. Attempting to modify an active, immutable service version will result in a 409 Conflict error with code S2R-ADM-0410.
| Method & Path | Description |
|---|---|
GET /admin/v1/services/{serviceId}/versions/{versionId}/operations | Lists all generated operations for a specific service version. |
PATCH /admin/v1/operations/{operationId} | Edits an operation's restMethod, restPath, timeoutMs, or retryCount. |
GET /admin/v1/operations/{operationId}/validation-rules | Reads the per-field request/response validation rules for an operation. |
PATCH /admin/v1/operations/{operationId}/validation-rules | Overrides the per-field request/response validation rules, typically for regex-based validation. |
GET /admin/v1/operations/{operationId}/transform-rules | Reads the no-code transformation rules for an operation. |
PUT /admin/v1/operations/{operationId}/transform-rules | Replaces the no-code transformation rules. Supported rules include trim, uppercase, lowercase, default_value, rename, split, join, and date_format. |
GET /admin/v1/operations/{operationId}/mapping | Reads the active request, response, and fault mapping for an operation. |
PUT /admin/v1/operations/{operationId}/mapping | Replaces the mapping for an operation. This deactivates the previous mapping and creates a new one, incrementing the mappingVersion. |
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, including summary counters. |
POST /admin/v1/operations/{operationId}/mapping:regenerate | Regenerates the automatic mapping from the stored WSDL contract for a single operation, preserving any existing fault mapping. |
POST /admin/v1/services/{serviceId}/mapping:regenerate | Regenerates mappings for all draft operations within a service. |
A backend profile stores the configuration for connecting to a downstream SOAP service, including its endpoint URL, authentication method, and transport settings.
WARNING
Credential materials are write-only and are never returned in API responses. A successful POST or PATCH involving credentials will return only a metadata envelope confirming the update, such as { "set": true, "lastUpdatedAt": "...", "lastUpdatedBy": "..." }. All credentials are encrypted at rest.
| Method & Path | Description |
|---|---|
GET /admin/v1/services/{serviceId}/backend-profiles | Lists all backend profiles for a service. |
POST /admin/v1/services/{serviceId}/backend-profiles | Creates a new backend profile 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. |
These endpoints allow API publishers to test connectivity and transformations against a live backend before activating a service.
| Method & Path | Description |
|---|---|
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 test against the backend SOAP service for a single operation and saves preview payloads. |
POST /admin/v1/backend-profiles/{profileId}:test-generated-samples | Automatically generates request payloads from the WSDL contract and runs application tests for a single operation or as a batch smoke test. |
POST /admin/v1/backend-profiles/{profileId}:test-rest | Executes a REST-style test, similar to using a tool like Postman. |
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 orthogonally by setting mtlsEnabled=true.
Other related endpoints include configuration for synthetic monitors (GET/POST /admin/v1/services/{serviceId}/synthetic-monitor) and management of reusable test datasets (GET/POST /admin/v1/services/{serviceId}/test-datasets, DELETE /admin/v1/test-datasets/{datasetId}).
Service configurations are versioned and immutable once active. The standard workflow is to create a new draft version by cloning an existing version, modify the draft, validate its readiness, and then activate it.
The following diagram illustrates the service version lifecycle:
flowchart TD
subgraph " "
A[Active Version] -->|Clone| B(New Draft Version)
B -->|Edit Mappings & Operations| B
B -->|Check Readiness| C{Publish Readiness Check}
C -->|Status: READY_TO_PUBLISH| D[Activate Version]
C -->|Status: BLOCKED| B
D --> E[New Active Version]
A -->|Rollback| E
end| Method & Path | Description |
|---|---|
GET /admin/v1/services/{serviceId}/versions | Lists all versions for a service, 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 | Runs a readiness assessment on a draft. Returns a status (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 new active version. 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 active version. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/wsdl-drift | Assesses a version for drift against the newest comparable WSDL import. Returns UP_TO_DATE, DRIFT_DETECTED, BREAKING_DRIFT, or 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. |
The platform can generate an OpenAPI v3 specification for any service version.
| Method & Path | Description |
|---|---|
POST /admin/v1/services/{serviceId}/versions/{versionId}:generate-openapi | Generates an OpenAPI v3 artifact for a specific service version. This endpoint is restricted to administrators. |
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 with the file's checksum. |
GET /admin/v1/services/{serviceId}/versions/{versionId}/openapi/package | Downloads a versioned ZIP archive containing openapi.json, mapping-metadata.json, and checksums.json. |
These endpoints manage global platform settings and user access control. Every change made via these endpoints emits an audit event.
| Method & Path | Description |
|---|---|
GET /admin/v1/settings | Reads mutable platform settings. |
PATCH /admin/v1/settings | Updates mutable settings, including default_timeout_ms, default_retry_count, default_retention_days, global debug toggles, and SMTP alert delivery settings. |
GET /admin/v1/settings/alert-mail-history | Retrieves the delivery history for recent SMTP alerts. |
GET /admin/v1/role-bindings | Reads the bindings between IdP groups and application roles. |
PUT /admin/v1/role-bindings | Replaces the full set of IdP group-to-role bindings. |
GET /admin/v1/permission-bindings | Lists direct user-to-role assignments within the application. |
POST /admin/v1/permission-bindings | Creates a new direct user-to-role assignment. |
DELETE /admin/v1/permission-bindings/{bindingId} | Deletes a direct user-to-role assignment. These direct bindings serve as a fallback when IdP group lookups are unavailable. |
The Admin API provides access to a wide range of observability data. To ensure fast query performance, most of these endpoints read from pre-computed aggregation tables rather than querying raw logs directly.
| Method & Path | Description |
|---|---|
GET /admin/v1/metrics | Retrieves aggregated metrics for a specified window (15m, 1h, 24h, 7d, 30d, 60d), including request/error counts and p50/p95/p99 latency. |
GET /admin/v1/slo-report | Returns the current SLO status, showing availability and latency against targets, breach detection, and an error budget 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 paginated runtime logs. Supports filtering by environment, service, operation, correlationId, resultCode, and time window. |
GET /admin/v1/backend-test-previews | Searches previously saved backend test preview payloads. |
GET /admin/v1/async-executions | Searches for asynchronous callback executions. Related endpoints allow for replaying, reprocessing, and manually completing or failing executions. |
GET /admin/v1/observability-filter-options | Returns lists of possible values for filter dropdowns in the UI. |
GET /admin/v1/debug-traces/{correlationId} | Retrieves debug trace payloads for a specific correlation ID. |
GET /admin/v1/debug-traces/{correlationId}/replay-metadata | Retrieves replay metadata for a specific correlation ID. |
GET /admin/v1/audit-events | Queries the audit event history with support for pagination and time window filtering. |
409 Conflict with code S2R-ADM-0410: This error indicates an attempt to modify an immutable resource or violate a state constraint. It is returned in the following situations:
active service version. Edits are only allowed on draft versions.:hard-delete) a service that is still active.:activate) a service version whose publish-readiness status is BLOCKED.draft version for a service that already has one.All API errors are returned in a standard error envelope containing a machine-readable error code, typically prefixed with S2R-ADM-* or S2R-VAL-*. For a complete list, see the Error Code Reference.