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 filling the manual wizard step by step.
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 logo, tags, TLS, description | No |
When to use¶
| Method | Use when |
|---|---|
Onboard Via Curl Command |
You have one representative request and want the platform to extract host, path, method, headers, query params, and body automatically. |
| Manually Configure API | You need the full three-step wizard (multiple endpoints, OpenAPI import, upstream TLS, logo, tags during setup). |
| Onboard SOAP APIs | You are onboarding a SOAP service via the dedicated SOAP wizard (WSDL upload, manual operations). |
Steps¶
Step 1 — Open Onboard API¶
Path: API Manager → Manage APIs → My APIs
- Go to
Manage APIs→My APIs. - Click
Onboard API. - In the
Onboard APImodal, selectOnboard Via Curl Command.
Step 2 — Paste and submit the curl command¶
- In the
Onboard via CURL Commandmodal, paste your curl into theCURL Commandfield. - Ensure the curl includes the
x-publishing-pathheader (see Curl requirements). - 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¶
- Wait for the success notification:
API onboarded successfully! - You are redirected to the API details / onboard page for the new API.
- Review auto-filled fields (API name, host, endpoint, headers, query params, body).
- Complete remaining configuration (authentication, rate plans, policies, logo, tags) as needed.
- Publish when ready — see Publish an API.
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 | API Host Name (upstream base URL) |
| 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 TLS, and tryout quota are not configured by this flow. |
| 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 SOAP wizard 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. |
