Skip to content

Onboard via CURL Command

Path: API Manager → Manage APIs → My APIs → Onboard API → Onboard Via Curl Command
Roles: platform-admin, api-developer, api-product-manager
Outcome: An unpublished API with basic information and one endpoint auto-created from a pasted curl command.

Use this flow when you already have a working curl request (from Postman, browser devtools, or API docs) and want to register the API without walking through the Manually Configure API three-step process.


Prerequisites

Need Required
Valid access for My APIs Yes
Valid single curl command Yes
Unique Publishing Path (set via x-publishing-path header in the curl) Yes
API Classification No — auto-set to Internal
API logo, tags, Upstream selection, description No

When to use

Use Onboard Via Curl Command (under Onboard API) when you have one representative curl and want the platform to extract host, path, method, headers, query params, and body automatically—without walking through the Manually Configure API three-step process.


Steps

Step 1 — Open Onboard API

Path: API Manager → Manage APIs → My APIs

  1. Go to Manage APIs → My APIs.
  2. Click Onboard API.
  3. In the Onboard API modal, select Onboard Via Curl Command.

Step 2 — Paste and submit the curl command

  1. In the Onboard via CURL Command modal, paste your curl into the CURL Command field.
  2. Ensure the curl includes the x-publishing-path header (see Curl requirements).
  3. Click Onboard CURL.

Info

Enter only one curl command at a time. Multiple curls in a single submission are not supported.

Step 3 — Review the auto-created API

  1. Wait for the success notification: API onboarded successfully!
  2. You are redirected to the API details / onboard page for the new API.
  3. Review auto-filled fields (API name, endpoint, headers, query params, body). API Classification is set to Internal automatically and cannot be chosen in the curl modal (locked after create, same as manual onboard).
  4. Under Configure Upstream Servers, select an Upstream (placeholder: Select Upstream here), then click Update. Create a matching target in Upstream first if the list is empty (No upstream created for this API type).
  5. Complete remaining configuration as needed (authentication, rate plans, policies, logo, tags, and Configure Upstream Servers if not already set).
  6. Publish when ready — see Publish an API.

Onboarded Unpublished API in the List


Curl requirements

Rule Detail
Single command One curl per onboarding run.
Publishing path header Required. Include --header 'x-publishing-path: /your-path'. The publishing path must be unique across all platform APIs.
Valid syntax Standard curl flags (-X, --header / -H, --data / -d, URL). Line continuations with \ are supported.

Minimal example:

curl -X GET 'https://api.example.com/users' \
  --header 'x-publishing-path: /public'

What gets extracted

Curl part Created in Yappes
URL host / origin Used when deriving backend context for the curl flow
URL path Endpoint path
HTTP method (-X) Endpoint method (defaults to GET, or POST when a body is present)
Query string Query parameters on the endpoint
Headers (-H / --header) Endpoint headers (see Limitations)
Request body (-d / --data) Form data / request body on the endpoint
Hostname API Name (auto-generated from hostname plus a random suffix)
x-publishing-path header Publishing Path

Supported API types

The platform detects the API type from the curl and creates the matching endpoint configuration.

Type Detection
REST Default when the request is not SOAP.
SOAP XML content type, SOAP envelope in body, or SOAPAction header.

Limitations

Limitation Detail
One endpoint per run Only the single operation in the pasted curl is created. Add more endpoints manually afterward.
Header filtering content-type and headers starting with x- are not saved as endpoint headers (publishing path is used only for API-level path).
Not auto-set Description, API logo, marketplace tags, Upstream selection, and tryout quota are not configured by this flow.
API Classification Auto-set to Internal. Not choosable in the curl modal; locked after create (same as manual onboard).
API name Auto-generated; rename on the API details page if needed.

Examples

REST GET with query parameters

curl -X GET 'https://api.example.com/users?status=active&limit=10' \
  --header 'Authorization: Bearer <token>' \
  --header 'x-publishing-path: /public'

SOAP request

curl -X POST 'https://soap.example.com/services/UserService' \
  --header 'Content-Type: text/xml; charset=utf-8' \
  --header 'SOAPAction: urn:getUser' \
  --header 'x-publishing-path: /public' \
  --data '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getUser><id>123</id></getUser></soap:Body></soap:Envelope>'

For full Onboard SOAP APIs options (WSDL upload, multiple operations), see Onboard SOAP APIs.


Troubleshooting

Issue Cause Action
Onboard CURL button disabled Missing or invalid x-publishing-path header Add --header 'x-publishing-path: /your-path' with a valid segmented path (e.g. /public).
Invalid curl / parse failure Malformed curl syntax Copy a fresh curl from your API client; ensure URL and flags are valid.
Publishing path must be unique Path already used by another API Choose a different x-publishing-path value.
Missing endpoint details Curl lacked method, URL, or body where expected Verify the curl includes the full request you want to register.
Need more endpoints Curl flow creates one operation only Add endpoints manually on the API details page — see API Endpoints.