Admiral
Components

Create a component

POST
/api/v1/components

The component name must be unique within the application. The source must exist and be accessible to the caller's tenant.

Scope: app:write

Authorization

bearerAuth
AuthorizationBearer <token>

Personal Access Token (PAT) or Service Access Token (SAT). Pass the token in the Authorization header: Bearer adm_pat_...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://admiral.example.com/api/v1/components" \  -H "Content-Type: application/json" \  -d '{}'
{  "component": {    "id": "d4e5f6a7-8901-2bcd-ef34-567890123456",    "application_id": "a1b2c3d4-5678-9abc-def0-1234567890ab",    "name": "api-server",    "description": "Main API server deployed via Helm chart.",    "category": "COMPONENT_CATEGORY_WORKLOAD",    "source_id": "f6a7b8c9-0123-4def-5678-901234567890",    "version": "2.4.1",    "values_template": "{\"replicaCount\": \"{{ .var.REPLICA_COUNT }}\", \"image.tag\": \"{{ .var.IMAGE_TAG }}\"}",    "labels": {      "component-type": "service"    },    "depends_on": [      "vpc",      "redis"    ],    "created_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "updated_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "created_at": "2025-09-16T09:00:00Z",    "updated_at": "2025-10-28T11:30:00Z"  }}