Admiral
Sources

Create a source

POST
/api/v1/sources

The source type and source_config must match -- for example, a TERRAFORM_REGISTRY source requires a TerraformRegistryConfig.

Scope: source: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/sources" \  -H "Content-Type: application/json" \  -d '{    "archive": {}  }'
{  "source": {    "id": "f6a7b8c9-0123-4def-5678-901234567890",    "name": "nginx-ingress",    "description": "NGINX Ingress Controller Helm chart from the official repository.",    "type": "SOURCE_TYPE_HELM_REPOSITORY",    "url": "https://kubernetes.github.io/ingress-nginx",    "catalog": true,    "labels": {      "category": "networking",      "team": "platform"    },    "created_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "updated_by": "d290f1ee-6c54-4b01-90e6-d701748f0851",    "created_at": "2025-08-01T12:00:00Z",    "updated_at": "2025-10-20T09:00:00Z"  }}