Manage APIs
This guide covers creating, listing, updating, and deleting APIs.
List APIs
Retrieve a paginated list of APIs with optional filters.
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis?page=1&size=10" \
-H "Authorization: Bearer <your-token>"
Filter parameters
| Parameter | Type | Description |
|---|---|---|
text | string | Free-text search across name and description |
name | string | Filter by API name |
owner | UUID | Filter by owner |
platformType | string | Filter by platform (e.g., BOOMI, AWS, KONG) |
status | string | ACTIVE or INACTIVE |
environment | UUID | Filter by deployment environment |
tags | string[] | Filter by tags |
deployed | boolean | Only deployed APIs |
product | UUID | Filter by API product |
includeDeployedOn | boolean | Include deployment environment details |
includeRunningJobs | boolean | Include running job details |
Example — search for active APIs with a specific tag:
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis?status=ACTIVE&tags=production&size=50" \
-H "Authorization: Bearer <your-token>"
Response:
{
"content": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "petstore",
"displayName": "Petstore API",
"description": "A sample pet store API",
"url": "/petstore",
"status": "ACTIVE",
"platformType": "BOOMI",
"tags": ["production"],
"createdAt": "2026-01-15T10:30:00Z",
"hasImage": false,
"ownerDisplayName": "Jane Doe"
}
],
"size": 50,
"number": 1,
"totalPages": 1,
"totalElements": 1,
"last": true
}
Create an API
curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"name": "petstore",
"displayName": "Petstore API",
"description": "A sample pet store API",
"status": "ACTIVE",
"tags": ["pets", "demo"],
"platformType": "BOOMI"
}'
Required fields
| Field | Type | Description |
|---|---|---|
name | string | Unique technical name |
displayName | string | Human-readable display name |
status | string | ACTIVE or INACTIVE |
tags | string[] | List of tags (can be empty) |
Optional fields
| Field | Type | Description |
|---|---|---|
description | string | Description (max 1000 chars) |
url | string | Base URL path |
owner | UUID | Owner user ID |
platformType | string | Gateway platform type |
gitUrl | string | Git repository URL |
gitCredential | UUID | Git credential ID |
Response (201 Created):
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "petstore",
"displayName": "Petstore API",
"description": "A sample pet store API",
"status": "ACTIVE",
"tags": ["pets", "demo"],
"platformType": "BOOMI",
"createdAt": "2026-02-23T14:00:00Z",
"deploymentStatus": "CREATED",
"hasImage": false
}
Get an API
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>" \
-H "Authorization: Bearer <your-token>"
Add ?includeRunningJobs=true to include details about any running deployment jobs.
Update an API
curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"name": "petstore",
"displayName": "Petstore API v2",
"description": "Updated description",
"status": "ACTIVE",
"tags": ["pets", "production"]
}'
note
The request body must include all required fields, not just the fields you want to change.
Delete an API
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>" \
-H "Authorization: Bearer <your-token>"
Add ?undeploy=true to automatically undeploy the API from all environments before deleting:
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>?undeploy=true" \
-H "Authorization: Bearer <your-token>"
Response: 204 No Content
Manage API image
Upload image
curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>/image" \
-H "Authorization: Bearer <your-token>" \
-F "file=@api-logo.png"
Download image
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>/image" \
-H "Authorization: Bearer <your-token>" \
--output api-logo.png
Delete image
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/apis/<api-id>/image" \
-H "Authorization: Bearer <your-token>"