Admiral
Sources

Create a source

POST
/api/v1/sources

The source type and source_config must match. For example, a TERRAFORM source requires a TerraformConfig.

Scope: source:write

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://api.admiral.io/api/v1/sources" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "type": "SOURCE_TYPE_UNSPECIFIED",    "url": "string"  }'
{  "source": {    "id": "f6a7b8c9-0123-4def-5678-901234567890",    "name": "nginx-ingress",    "description": "NGINX Ingress Controller Helm chart from the official repository.",    "type": "SOURCE_TYPE_HELM",    "url": "https://kubernetes.github.io/ingress-nginx",    "source_config": {      "helm": {        "chart_name": "ingress-nginx"      }    },    "labels": {      "category": "networking",      "team": "platform"    },    "last_test_status": "SOURCE_TEST_STATUS_SUCCESS",    "last_tested_at": "2025-11-01T08:00:00Z",    "created_by": {      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",      "display_name": "Alex Chen",      "email": "[email protected]"    },    "created_at": "2025-08-01T12:00:00Z",    "updated_at": "2025-10-20T09:00:00Z"  }}