Endpoints
Reference for Envtracker webhook endpoints used for CI/CD automation.
Overview
This section documents the webhook endpoints you can call from your CI/CD system or external tools.
All requests must be authenticated with a webhook key and signature.
Base URL
https://<your-tenant>.envtracker.io Notify deployment (recommended)
PUT /webhook/notify
The primary endpoint for notifying Envtracker of a deployment event. Use this endpoint for all new integrations.
Request body (notify deployment)
{
"projectCode": "my-project",
"envCode": "production",
"repoCode": "my-app",
"pipeline": 456,
"status": "success",
"branch": "main",
"deployDate": "2024-01-15T10:30:00Z"
} | Field | Type | Description |
|---|---|---|
| projectCode | string | Your project code in Envtracker |
| envCode | string | Target environment code (for example production, staging) |
| repoCode | string | Repository or application code |
| pipeline | number | CI/CD pipeline run number |
| status | string | Deployment status (for example success, failed) |
| branch | string | Git branch that was deployed |
| deployDate | string | ISO 8601 timestamp of the deployment |
Responses (notify deployment)
| Status | Meaning |
|---|---|
| 200 | Deployment recorded |
| 400 | Invalid payload |
| 401 | Authentication failed (missing headers, invalid signature, expired timestamp, or unknown key) |
| 403 | Project does not exist |
Notify deployment (legacy, deprecated)
PUT /v1/company/:companyCode/project/:projectCode/applications/:appCode/env/:envCode
This endpoint is deprecated and will be removed in a future release. Migrate to /webhook/notify as soon as possible.
Request body (legacy notify deployment)
{
"pipeline": 456,
"status": "success",
"gitTracking": {
"branch": "main"
},
"deployDate": "2024-01-15T10:30:00Z"
} Responses (legacy notify deployment)
| Status | Meaning |
|---|---|
| 200 | Deployment recorded |
| 400 | Invalid payload or invalid URL parameters |
| 401 | Authentication failed |
| 403 | Project does not exist |
Create environment
PUT /webhook/create-environment
Automate the creation of a new environment in Envtracker, for example as part of a branch deployment workflow.
Request body (create environment)
{
"name": "Feature Branch Preview",
"code": "feature-preview",
"teamCode": "engineering",
"url": "https://feature.example.com",
"position": 3,
"type": "DEVELOPMENT"
} | Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Display name for the environment |
| code | string | yes | Unique code identifier for the environment |
| teamCode | string | yes | Code of the team that owns the environment |
| url | string | no | URL of the deployed environment |
| position | number | no | Display order position |
| type | string | yes | One of DEVELOPMENT, STAGING, PRODUCTION, TESTING |
Responses (create environment)
| Status | Meaning |
|---|---|
| 200 | Environment created successfully |
| 400 | Invalid payload |
| 401 | Authentication failed |
| 403 | Team does not exist, environment code already exists, or tier limits were reached |
Assign applications
PUT /webhook/assign-apps
Automate the assignment of applications to one or more environments.
Request body (assign applications)
{
"projectCode": "my-project",
"apps": [
{
"repoCode": "my-app",
"envs": ["production", "staging"]
},
{
"repoCode": "another-service",
"envs": ["staging"]
}
]
} | Field | Type | Description |
|---|---|---|
| projectCode | string | The project to assign apps within |
| apps | array | List of app assignment entries |
| apps[].repoCode | string | Repository or template code used to create the application |
| apps[].envs | string[] | Array of environment codes to assign this app to |
Responses (assign applications)
| Status | Meaning |
|---|---|
| 200 | Applications assigned successfully |
| 400 | Invalid payload |
| 401 | Authentication failed |
| 403 | One or more referenced resources do not exist, or tier limits were reached |