Download OpenAPI specification:Download
This is the API for the Astro Plane - control plane for Astro Platform
List all API keys for a user. The API keys can be used to authenticate the requests to the Astro Platform API. Requires Auth0 authentication.
Authorization required | string Auth0 Bearer token |
{- "data": [
- {
- "createdAt": "string",
- "duration": "string",
- "expiresAt": "string",
- "id": "string",
- "isPermanent": true,
- "key": "string",
- "lastUsedAt": "string",
- "maskedKey": "string",
- "orgId": "string",
- "orgNamespace": "string",
- "revokedAt": "string",
- "revokedBy": "string",
- "revokedReason": "string",
- "source": "string",
- "status": "ACTIVE",
- "userId": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Create an API key for an organization. The API key will be used to authenticate the requests to the Astro Platform API. Requires Auth0 authentication.
Authorization required | string Auth0 Bearer token |
API Key creation request
duration required | integer <int64> Enum: -9223372036854776000 9223372036854776000 1 1000 1000000 1000000000 60000000000 3600000000000 duration is the duration for which the API key is valid. It is a string in the format of a number followed by "h" for hours or "d" for days. If not specified, the default duration is 24h. |
isPermanent | boolean isPermanent is a flag to make the API key permanent. If true, the API key will not expire. If false, the API key will expire after the duration. If not specified, the default value is false. |
orgId required | string orgId is the organization Id to which the API key is created. The id is uuid generated by the platform. Use the organization name to get the orgId. |
source required | string Enum: "cli" "ui" source indicates where the API key was created from (cli or ui) This is used for audit purposes and rate limiting |
{- "duration": -9223372036854776000,
- "isPermanent": true,
- "orgId": "string",
- "source": "cli"
}
{- "data": {
- "createdAt": "string",
- "duration": "string",
- "expiresAt": "string",
- "id": "string",
- "isPermanent": true,
- "key": "string",
- "lastUsedAt": "string",
- "maskedKey": "string",
- "orgId": "string",
- "orgNamespace": "string",
- "revokedAt": "string",
- "revokedBy": "string",
- "revokedReason": "string",
- "source": "string",
- "status": "ACTIVE",
- "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Delete an API key for an organization by its ID. The API key will no longer be valid for authentication. Requires Auth0 authentication.
orgId required | string Organization Id |
Authorization required | string Auth0 Bearer token |
API Key deletion request
keyId required | string KeyID is the unique identifier of the API key to delete. This is the ID field, not the actual API key value. |
{- "keyId": "string"
}
{- "data": {
- "keyId": "string",
- "success": true
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get details of a specific API key by its ID. Requires Auth0 authentication.
orgId required | string Organization Id |
keyId required | string Key ID |
Authorization required | string Auth0 Bearer token |
{- "data": {
- "createdAt": "string",
- "duration": "string",
- "expiresAt": "string",
- "id": "string",
- "isPermanent": true,
- "key": "string",
- "lastUsedAt": "string",
- "maskedKey": "string",
- "orgId": "string",
- "orgNamespace": "string",
- "revokedAt": "string",
- "revokedBy": "string",
- "revokedReason": "string",
- "source": "string",
- "status": "ACTIVE",
- "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Revoke an API key for an organization. The API key will be marked as revoked but not deleted. Requires Auth0 authentication.
orgId required | string Organization Id |
Authorization required | string Auth0 Bearer token |
Reason for revocation
keyId required | string KeyID is the unique identifier of the API key to revoke. This is the ID field, not the actual API key value. |
reason | string Reason is the reason for revoking the API key. This is optional and can be used to provide a reason for revoking the API key. |
{- "keyId": "string",
- "reason": "string"
}
{- "data": true,
- "id": "string",
- "message": "string",
- "status": "string"
}
Get metadata about API keys for a user in an organization, including counts of active, expired, and revoked keys. Requires Auth0 authentication.
Authorization required | string Auth0 Bearer token |
{- "data": {
- "activeKeyCount": 0,
- "expiredKeyCount": 0,
- "nearestExpiringKey": {
- "expiresAt": "string",
- "maskedKey": "string"
}, - "revokedKeyCount": 0
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Validate an API key and return its status. This can be used to check if an API key is valid. Requires Auth0 authentication.
Authorization required | string Auth0 Bearer token |
X-Validate-API-Key required | string API Key to validate |
{- "data": {
- "createdAt": "string",
- "duration": "string",
- "expiresAt": "string",
- "id": "string",
- "isPermanent": true,
- "key": "string",
- "lastUsedAt": "string",
- "maskedKey": "string",
- "orgId": "string",
- "orgNamespace": "string",
- "revokedAt": "string",
- "revokedBy": "string",
- "revokedReason": "string",
- "source": "string",
- "status": "ACTIVE",
- "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
List all applications within an organization
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "appName": "string",
- "appProfileName": "string",
- "clusterName": "string",
- "createdTimestamp": "string",
- "endpoint": "string",
- "id": "string",
- "lastUpdatedTimestamp": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string",
- "sourceType": "string",
- "status": "string",
- "targetNamespace": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Delete an application
appId required | string Application Id |
X-Astro-API-Key required | string APIKey |
{- "details": { },
- "error": "Resource not found",
- "error_code": "NOT_FOUND",
- "status": 404,
- "trace_id": "trace-5e6f7g8h9i"
}
Retrieve details of a specific application within an organization
appId required | string Application Id |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "appName": "string",
- "appProfileName": "string",
- "clusterName": "string",
- "createdTimestamp": "string",
- "endpoint": "string",
- "id": "string",
- "lastUpdatedTimestamp": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string",
- "sourceType": "string",
- "status": "string",
- "targetNamespace": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Establishes a WebSocket connection for real-time application event streaming. Upgrades HTTP to WebSocket and streams Pulse (CD) service and optionally Kubernetes events.
appId required | string Application ID |
k8s | boolean Default: false Include Kubernetes events in addition to ArgoCD events |
X-Astro-API-Key required | string APIKey |
"string"
Establishes a WebSocket connection for real-time application log streaming. Upgrades HTTP to WebSocket and streams logs with optional pod and container targeting.
appId required | string Application ID |
follow | boolean Default: true Follow logs in real-time |
tail | integer Number of lines to show from the end of the logs |
previous | boolean Show previous logs from terminated containers |
pod | string Specific pod name to get logs from |
container | string Specific container name within the pod |
X-Astro-API-Key required | string APIKey |
"string"
Force resync an application via app-service
appId required | string Application Id |
X-Astro-API-Key required | string APIKey |
Resync options
force | boolean Force sync even if no changes detected or previous operation is stuck Useful when previous deployments are stuck in terminating state |
{- "force": true
}
{- "data": {
- "applicationId": "string",
- "force": true,
- "message": "string",
- "status": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves the original request specification used to create the application for upgrade workflows
appId required | string Application ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "externalAccess": {
- "accessType": "Ingress",
- "dnsEndpoint": "string"
}, - "name": "string",
- "namespace": "string",
- "profileName": "string",
- "source": {
- "helm": {
- "repo": {
- "chartName": "string",
- "chartVersion": "string",
- "releaseName": "string",
- "repoURL": "string"
}, - "values": {
- "files": [
- "string"
], - "object": { },
- "type": "files"
}
}, - "image": {
- "registry": "string",
- "repository": "string",
- "tag": "string"
}, - "repository": {
- "repo": {
- "path": "string",
- "releaseName": "string",
- "repoURL": "string",
- "targetRevision": "string"
}, - "values": {
- "files": [
- "string"
], - "object": { },
- "type": "files"
}
}, - "type": "image",
- "yaml": {
- "exclude": "string",
- "include": "string",
- "recursive": true,
- "repo": {
- "path": "string",
- "releaseName": "string",
- "repoURL": "string",
- "targetRevision": "string"
}
}
}, - "syncType": "auto"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Deploy an application
X-Astro-API-Key required | string APIKey |
Application deployment data
object externalAccess if not configured, it will default to Ingress and the None option is only vaild for the source type helm/repository | |
name required | string [ 1 .. 50 ] characters name is the name of the application. Every application name should be unique within the organization. |
namespace | string <= 63 characters namespace specifies the namespace to deploy the application. If not specified, the platform will create namespace based on the application name. |
profileName required | string [ 1 .. 50 ] characters profileName is the name of the application profile. Once set, it is immutable. |
required | object source defines the source from where the artifact will be fetched, once set, it is immutable. |
syncType | string Enum: "auto" "manual" syncType defines if the application should be auto-synced or not.
The values can be either "auto" or "manual". The default value is "auto".
Only use |
{- "externalAccess": {
- "accessType": "Ingress",
- "dnsEndpoint": "string"
}, - "name": "string",
- "namespace": "string",
- "profileName": "string",
- "source": {
- "helm": {
- "repo": {
- "chartName": "string",
- "chartVersion": "string",
- "releaseName": "string",
- "repoURL": "string"
}, - "values": {
- "files": [
- "string"
], - "object": { },
- "type": "files"
}
}, - "image": {
- "registry": "string",
- "repository": "string",
- "tag": "string"
}, - "repository": {
- "repo": {
- "path": "string",
- "releaseName": "string",
- "repoURL": "string",
- "targetRevision": "string"
}, - "values": {
- "files": [
- "string"
], - "object": { },
- "type": "files"
}
}, - "type": "image",
- "yaml": {
- "exclude": "string",
- "include": "string",
- "recursive": true,
- "repo": {
- "path": "string",
- "releaseName": "string",
- "repoURL": "string",
- "targetRevision": "string"
}
}
}, - "syncType": "auto"
}
{- "body": {
- "details": { },
- "error": "Resource not found",
- "error_code": "NOT_FOUND",
- "status": 404,
- "trace_id": "trace-5e6f7g8h9i"
}
}
Retrieve application profiles for an organization
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "clusterName": "string",
- "clusterSelection": {
- "cloudProvider": {
- "availabilityZones": [
- "string"
], - "provider": "aws",
- "region": "string"
}, - "cluster": {
- "name": "string"
}, - "type": "specified"
}, - "constraints": {
- "availability": {
- "tier": "basic"
}, - "networkTraffic": {
- "incomingRPS": 0,
- "outgoingRPS": 0
}, - "resources": {
- "cpu": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}, - "memory": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}
}
}, - "id": "string",
- "name": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Create a new application profile for the organization
X-Astro-API-Key required | string APIKey |
Application profile configuration
availabilityTier | string Enum: "basic" "standard" "premium" availabilityTier is the availability tier, defaults to 'Basic'. |
object cloudProvider is the cloud provider and region where the application will be deployed. | |
clusterName | string clusterName is the name of the cluster. This takes the highest precedence over cloud provider. |
profileName required | string [ 1 .. 50 ] characters profileName is the name of the profile, must be a valid DNS name. example: example-profile |
object resources specifies resource requirements for the application. example: {"memory":{"minimum":"1Gi","maximum":"2Gi"}} |
{- "availabilityTier": "basic",
- "cloudProvider": {
- "provider": "aws",
- "region": "string"
}, - "clusterName": "string",
- "profileName": "string",
- "resources": {
- "memory": {
- "maximum": "string",
- "minimum": "string"
}
}
}
{- "data": {
- "clusterName": "string",
- "clusterSelection": {
- "cloudProvider": {
- "availabilityZones": [
- "string"
], - "provider": "aws",
- "region": "string"
}, - "cluster": {
- "name": "string"
}, - "type": "specified"
}, - "constraints": {
- "availability": {
- "tier": "basic"
}, - "networkTraffic": {
- "incomingRPS": 0,
- "outgoingRPS": 0
}, - "resources": {
- "cpu": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}, - "memory": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}
}
}, - "id": "string",
- "name": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Delete an application profile by profile name
profileId required | string Profile ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "clusterName": "string",
- "clusterSelection": {
- "cloudProvider": {
- "availabilityZones": [
- "string"
], - "provider": "aws",
- "region": "string"
}, - "cluster": {
- "name": "string"
}, - "type": "specified"
}, - "constraints": {
- "availability": {
- "tier": "basic"
}, - "networkTraffic": {
- "incomingRPS": 0,
- "outgoingRPS": 0
}, - "resources": {
- "cpu": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}, - "memory": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}
}
}, - "id": "string",
- "name": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieve application profile by profile name
profileId required | string Profile ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "clusterName": "string",
- "clusterSelection": {
- "cloudProvider": {
- "availabilityZones": [
- "string"
], - "provider": "aws",
- "region": "string"
}, - "cluster": {
- "name": "string"
}, - "type": "specified"
}, - "constraints": {
- "availability": {
- "tier": "basic"
}, - "networkTraffic": {
- "incomingRPS": 0,
- "outgoingRPS": 0
}, - "resources": {
- "cpu": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}, - "memory": {
- "maximum": {
- "Format": "DecimalExponent"
}, - "minimum": {
- "Format": "DecimalExponent"
}
}
}
}, - "id": "string",
- "name": "string",
- "namespace": "string",
- "orgId": "string",
- "slug": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Delete multiple application profiles by their names
X-Astro-API-Key required | string APIKey |
List of profile names to delete
profileNames required | Array of strings |
{- "profileNames": [
- "string"
]
}
{- "body": {
- "details": { },
- "error": "Resource not found",
- "error_code": "NOT_FOUND",
- "status": 404,
- "trace_id": "trace-5e6f7g8h9i"
}
}
Get detailed information about a specific availability tier
tierId required | string Availability tier ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "container": {
- "maxSize": 1,
- "minSize": 1
}, - "horizontalAutoScaling": {
- "cpuUtilizationPercentage": 20,
- "enabled": true,
- "maxReplicas": 1,
- "memoryUtilizationPercentage": 20,
- "minReplicas": 1
}, - "id": "string",
- "multiZoneDeployment": true,
- "name": "string",
- "orgId": "string",
- "placementPreference": "soft",
- "priorityLevel": "astro-critical-pc",
- "resources": {
- "cpu": {
- "maximum": "string",
- "minimum": "string"
}, - "memory": {
- "maximum": "string",
- "minimum": "string"
}
}, - "verticalAutoScaling": {
- "enabled": true
}
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves a list of all Kubernetes clusters managed by the platform
providerId | string Cloud Provider ID (e.g., aws, gcp) |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "addOnService": [
- {
- "createdTimestamp": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "version": "string"
}
], - "application": [
- {
- "createdTimestamp": "string",
- "dnsEndpoint": "string",
- "inputSourceType": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "namespace": "string",
- "resourceName": "string"
}
], - "architecture": "string",
- "clusterFQDN": "string",
- "clusterId": "string",
- "clusterName": "string",
- "controlPlaneNode": {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}, - "kubernetesVersion": "string",
- "lastUpdatedTimestamp": "string",
- "provider": "string",
- "provisionerType": "eks",
- "region": "string",
- "state": "string",
- "totalMonthlyCost": "string",
- "workerNodes": [
- {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}
]
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Deploys a new Kubernetes cluster with the specified configuration
X-Astro-API-Key required | string APIKey |
Cluster deployment configuration
approvalWorkflow required | boolean approvalWorkflow is the flag to enable the approval workflow for the cluster if the flag is set to true then notification field is required |
clusterName required | string [ 1 .. 50 ] characters clusterName is the name of the cluster |
required | object clusterSpec is the spec for the cluster |
provider required | string Enum: "aws" "azure" "gcp" provider is the cloud provider for the cluster |
required | object provisioner is the provisioner spec for the cluster |
region required | string non-empty region is the region for the cluster |
{- "approvalWorkflow": true,
- "clusterName": "string",
- "clusterSpec": {
- "controlPlane": {
- "nodeGroup": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string"
}
}, - "dataPlane": {
- "nodeGroups": [
- {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}
]
}
}, - "provider": "aws",
- "provisioner": {
- "eks": {
- "accountId": "string",
- "amiFamily": "AmazonLinux2023",
- "credentials": {
- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": "static"
}, - "kubernetesVersion": "string",
- "subnets": {
- "property1": [
- {
- "cidr": "string",
- "id": "string",
- "type": "public"
}
], - "property2": [
- {
- "cidr": "string",
- "id": "string",
- "type": "public"
}
]
}, - "tags": {
- "property1": "string",
- "property2": "string"
}, - "vpcCIDR": "string",
- "vpcId": "string"
}, - "selfHosted": {
- "accountId": "string",
- "bucketName": "string",
- "credentials": {
- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": "static"
}, - "kubernetesVersion": "string",
- "networkId": "string"
}, - "type": "selfHosted"
}, - "region": "string"
}
{- "data": {
- "addOnService": [
- {
- "createdTimestamp": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "version": "string"
}
], - "application": [
- {
- "createdTimestamp": "string",
- "dnsEndpoint": "string",
- "inputSourceType": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "namespace": "string",
- "resourceName": "string"
}
], - "architecture": "string",
- "clusterFQDN": "string",
- "clusterId": "string",
- "clusterName": "string",
- "controlPlaneNode": {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}, - "kubernetesVersion": "string",
- "lastUpdatedTimestamp": "string",
- "provider": "string",
- "provisionerType": "eks",
- "region": "string",
- "state": "string",
- "totalMonthlyCost": "string",
- "workerNodes": [
- {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Deletes a specific Kubernetes cluster and its associated resources
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
Optional credentials for cluster deletion
required | object data is the data for the credentials, the data is in the format of key-value pairs |
type required | string Enum: "static" "dynamic" type is the type of the credentials it expects, the supported types are static and dynamic if the type is static then platform aspects the standard ENV keys for cloud provider. Please follow the astro platform documentation for the keys. If the type is dynamic then the platform will use cloud provider supported capability to generate the credentials. Like for AWS it will use the STS assume role capability. |
{- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": "static"
}
{- "data": {
- "addOnService": [
- {
- "createdTimestamp": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "version": "string"
}
], - "application": [
- {
- "createdTimestamp": "string",
- "dnsEndpoint": "string",
- "inputSourceType": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "namespace": "string",
- "resourceName": "string"
}
], - "architecture": "string",
- "clusterFQDN": "string",
- "clusterId": "string",
- "clusterName": "string",
- "controlPlaneNode": {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}, - "kubernetesVersion": "string",
- "lastUpdatedTimestamp": "string",
- "provider": "string",
- "provisionerType": "eks",
- "region": "string",
- "state": "string",
- "totalMonthlyCost": "string",
- "workerNodes": [
- {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves detailed information about a specific Kubernetes cluster
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "addOnService": [
- {
- "createdTimestamp": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "version": "string"
}
], - "application": [
- {
- "createdTimestamp": "string",
- "dnsEndpoint": "string",
- "inputSourceType": "string",
- "lastUpdatedTimestamp": "string",
- "name": "string",
- "namespace": "string",
- "resourceName": "string"
}
], - "architecture": "string",
- "clusterFQDN": "string",
- "clusterId": "string",
- "clusterName": "string",
- "controlPlaneNode": {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}, - "kubernetesVersion": "string",
- "lastUpdatedTimestamp": "string",
- "provider": "string",
- "provisionerType": "eks",
- "region": "string",
- "state": "string",
- "totalMonthlyCost": "string",
- "workerNodes": [
- {
- "availabilityZones": [
- "string"
], - "instanceType": "ondemand",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "taints": [
- {
- "effect": "NoSchedule",
- "key": "string",
- "operator": "Equal",
- "value": "string"
}
]
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Re-synchronizes internal authentication configuration for a specific cluster to fix missing certificates or connectivity issues
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
{- "data": "string",
- "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves the kubeconfig file for a specific Kubernetes cluster
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
{- "data": [
- 0
], - "id": "string",
- "message": "string",
- "status": "string"
}
Generates a new kubeconfig file for a specific Kubernetes cluster
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
Kubeconfig generation request
clusterName required | string [ 1 .. 50 ] characters clusterName is the name of the cluster |
required | object credentials maps to the cloud provider credentials |
duration required | integer <int64> Enum: -9223372036854776000 9223372036854776000 1 1000 1000000 1000000000 60000000000 3600000000000 duration is the duration for which the kubeconfig is valid. The valid duration takes the pattern as 1h, 1m etc |
{- "clusterName": "string",
- "credentials": {
- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": "static"
}, - "duration": -9223372036854776000
}
{- "data": [
- 0
], - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieve complete operation history for a specific cluster. If cluster not found in database, location parameters are required.
clusterId required | string Cluster ID (cluster name) |
limit | integer Default: 100 Maximum number of operations to return |
pageToken | string Page token for pagination |
provider | string Cloud provider: aws, gcp, azure (required if cluster not found) |
provisionerType | string Provisioner type: selfmanaged, eks, gke, aks (required if cluster not found) |
accountId | string Cloud account ID (required if cluster not found) |
region | string Cloud region (required if cluster not found) |
{- "data": {
- "nextPageToken": "string",
- "operations": [
- {
- "clusterId": "string",
- "clusterName": "string",
- "completedAt": {
- "nanos": 0,
- "seconds": 0
}, - "currentPhase": "string",
- "lastUpdate": {
- "nanos": 0,
- "seconds": 0
}, - "message": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "operationId": "string",
- "operationType": 0,
- "organizationId": "string",
- "progressPercentage": 0,
- "recentEvents": [
- {
- "clusterId": "string",
- "clusterName": "string",
- "idempotencyKey": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "level": "string",
- "message": "string",
- "operationId": "string",
- "operationType": 0,
- "phase": "string",
- "progressPercentage": 0,
- "rawOutput": "string",
- "timestamp": {
- "nanos": 0,
- "seconds": 0
}
}
], - "startedAt": {
- "nanos": 0,
- "seconds": 0
}, - "status": 0,
- "userId": "string"
}
], - "totalCount": 0
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves the current progress status for a specific cluster operation
clusterId required | string Cluster ID |
operationId | string Operation ID to get progress for (optional) |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "clusterId": "string",
- "clusterName": "string",
- "completedAt": {
- "nanos": 0,
- "seconds": 0
}, - "currentPhase": "string",
- "lastUpdate": {
- "nanos": 0,
- "seconds": 0
}, - "message": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "operationId": "string",
- "operationType": 0,
- "organizationId": "string",
- "progressPercentage": 0,
- "recentEvents": [
- {
- "clusterId": "string",
- "clusterName": "string",
- "idempotencyKey": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "level": "string",
- "message": "string",
- "operationId": "string",
- "operationType": 0,
- "phase": "string",
- "progressPercentage": 0,
- "rawOutput": "string",
- "timestamp": {
- "nanos": 0,
- "seconds": 0
}
}
], - "startedAt": {
- "nanos": 0,
- "seconds": 0
}, - "status": 0,
- "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Establishes a WebSocket connection for real-time cluster progress updates. Upgrades HTTP to WebSocket and streams progress events in real-time.
clusterId required | string Cluster ID |
operationId | string Operation ID to stream progress for (optional) |
X-Astro-API-Key required | string APIKey |
"string"
Retrieves the original specification used to create the cluster
clusterId required | string Cluster ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "clusterName": "string",
- "clusterSpec": {
- "architecture": 0,
- "controlPlane": {
- "nodeGroup": {
- "availabilityZones": [
- "string"
], - "categoryType": 0,
- "createPerAZ": true,
- "instanceType": 0,
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}, - "taints": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "value": "string"
}
], - "volumeSize": 0
}
}, - "dataPlane": {
- "nodeGroups": [
- {
- "availabilityZones": [
- "string"
], - "categoryType": 0,
- "createPerAZ": true,
- "instanceType": 0,
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "machineTypes": [
- "string"
], - "maxNode": 0,
- "minNode": 0,
- "name": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}, - "taints": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "value": "string"
}
], - "volumeSize": 0
}
]
}
}, - "clusterType": 0,
- "costEvaulate": true,
- "domain": "string",
- "enableApprovalWorkflow": true,
- "identity": {
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "orgId": "string"
}, - "providerName": 0,
- "provisioner": {
- "eks": {
- "accountId": "string",
- "addOnServices": [
- {
- "karpenter": {
- "enabled": true,
- "requirements": {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "value": "string"
}, - "version": "string"
}
}
], - "amiFamily": 0,
- "controlPlaneAvailabityZones": [
- "string"
], - "credentials": {
- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": 0
}, - "kubernetesVersion": "string",
- "networkCIDR": "string",
- "networkId": "string",
- "privateSubnet": {
- "property1": {
- "cidr": "string",
- "id": "string",
- "type": 0
}, - "property2": {
- "cidr": "string",
- "id": "string",
- "type": 0
}
}, - "publicSubnet": {
- "property1": {
- "cidr": "string",
- "id": "string",
- "type": 0
}, - "property2": {
- "cidr": "string",
- "id": "string",
- "type": 0
}
}, - "tags": {
- "property1": "string",
- "property2": "string"
}
}, - "kops": {
- "accountId": "string",
- "bucketName": "string",
- "credentials": {
- "data": {
- "property1": "string",
- "property2": "string"
}, - "type": 0
}, - "k8sImage": "string",
- "k8sVersion": "string",
- "networkCIDR": "string",
- "networkId": "string"
}, - "type": 0
}, - "region": "string",
- "rollingUpdate": {
- "maxSurge": "string",
- "maxUnavailable": "string"
}
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Requests approval for a cluster operation (approve/reject)
clusterName required | string Name of the cluster |
orgId required | string Organization ID |
token required | string Approval token |
action required | string Action to perform (APPROVE/REJECT) |
X-Astro-API-Key required | string APIKey |
{- "data": "string",
- "id": "string",
- "message": "string",
- "status": "string"
}
Lists progress for multiple clusters with filtering options
operationType | string Operation type filter |
status | string Status filter |
limit | integer Limit number of results |
pageToken | string Page token for pagination |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "nextPageToken": "string",
- "operations": [
- {
- "clusterId": "string",
- "clusterName": "string",
- "completedAt": {
- "nanos": 0,
- "seconds": 0
}, - "currentPhase": "string",
- "lastUpdate": {
- "nanos": 0,
- "seconds": 0
}, - "message": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "operationId": "string",
- "operationType": 0,
- "organizationId": "string",
- "progressPercentage": 0,
- "recentEvents": [
- {
- "clusterId": "string",
- "clusterName": "string",
- "idempotencyKey": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "level": "string",
- "message": "string",
- "operationId": "string",
- "operationType": 0,
- "phase": "string",
- "progressPercentage": 0,
- "rawOutput": "string",
- "timestamp": {
- "nanos": 0,
- "seconds": 0
}
}
], - "startedAt": {
- "nanos": 0,
- "seconds": 0
}, - "status": 0,
- "userId": "string"
}
], - "totalCount": 0
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Receives installation callback from GitHub and processes it
installation_id required | string GitHub Installation ID |
setup_action required | string Setup Action |
{- "data": { },
- "id": "string",
- "message": "string",
- "status": "string"
}
Lists all GitHub App installations for the organization
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "accountId": "string",
- "accountLogin": "string",
- "accountType": "string",
- "createdAt": "string",
- "createdByUserId": "string",
- "id": "string",
- "organizationId": "string",
- "status": "string",
- "suspendedAt": "string",
- "updatedAt": "string",
- "updatedByUserId": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Unlinks a GitHub App installation
installation_id required | string Installation ID |
X-Astro-API-Key required | string APIKey |
{- "data": { },
- "id": "string",
- "message": "string",
- "status": "string"
}
Retrieves details of a specific GitHub App installation
installation_id required | string Installation ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "accountId": "string",
- "accountLogin": "string",
- "accountType": "string",
- "createdAt": "string",
- "createdByUserId": "string",
- "id": "string",
- "organizationId": "string",
- "status": "string",
- "suspendedAt": "string",
- "updatedAt": "string",
- "updatedByUserId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Maps an existing GitHub installation to the current organization
installation_id required | string Installation ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "accountId": "string",
- "accountLogin": "string",
- "accountType": "string",
- "createdAt": "string",
- "createdByUserId": "string",
- "id": "string",
- "organizationId": "string",
- "status": "string",
- "suspendedAt": "string",
- "updatedAt": "string",
- "updatedByUserId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Lists all repositories accessible via the GitHub App installation
installation_id required | string Installation ID |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "allow_auto_merge": true,
- "allow_forking": true,
- "allow_merge_commit": true,
- "allow_rebase_merge": true,
- "allow_squash_merge": true,
- "allow_update_branch": true,
- "archive_url": "string",
- "archived": true,
- "assignees_url": "string",
- "auto_init": true,
- "blobs_url": "string",
- "branches_url": "string",
- "clone_url": "string",
- "code_of_conduct": {
- "body": "string",
- "key": "string",
- "name": "string",
- "url": "string"
}, - "collaborators_url": "string",
- "comments_url": "string",
- "commits_url": "string",
- "compare_url": "string",
- "contents_url": "string",
- "contributors_url": "string",
- "created_at": {
- "time.Time": "string"
}, - "custom_properties": {
- "property1": "string",
- "property2": "string"
}, - "default_branch": "string",
- "delete_branch_on_merge": true,
- "deployments_url": "string",
- "description": "string",
- "disabled": true,
- "downloads_url": "string",
- "events_url": "string",
- "fork": true,
- "forks_count": 0,
- "forks_url": "string",
- "full_name": "string",
- "git_commits_url": "string",
- "git_refs_url": "string",
- "git_tags_url": "string",
- "git_url": "string",
- "gitignore_template": "string",
- "has_discussions": true,
- "has_downloads": true,
- "has_issues": true,
- "has_pages": true,
- "has_projects": true,
- "has_wiki": true,
- "homepage": "string",
- "hooks_url": "string",
- "html_url": "string",
- "id": 0,
- "is_template": true,
- "issue_comment_url": "string",
- "issue_events_url": "string",
- "issues_url": "string",
- "keys_url": "string",
- "labels_url": "string",
- "language": "string",
- "languages_url": "string",
- "license": {
- "body": "string",
- "conditions": [
- "string"
], - "description": "string",
- "featured": true,
- "html_url": "string",
- "implementation": "string",
- "key": "string",
- "limitations": [
- "string"
], - "name": "string",
- "permissions": [
- "string"
], - "spdx_id": "string",
- "url": "string"
}, - "license_template": "string",
- "master_branch": "string",
- "merge_commit_message": "string",
- "merge_commit_title": "string",
- "merges_url": "string",
- "milestones_url": "string",
- "mirror_url": "string",
- "name": "string",
- "network_count": 0,
- "node_id": "string",
- "notifications_url": "string",
- "open_issues": 0,
- "open_issues_count": 0,
- "organization": {
- "advanced_security_enabled_for_new_repositories": true,
- "avatar_url": "string",
- "billing_email": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "default_repository_permission": "string",
- "default_repository_settings": "string",
- "dependabot_alerts_enabled_for_new_repositories": true,
- "dependabot_security_updates_enabled_for_new_repositories": true,
- "dependency_graph_enabled_for_new_repositories": true,
- "description": "string",
- "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "following": 0,
- "has_organization_projects": true,
- "has_repository_projects": true,
- "hooks_url": "string",
- "html_url": "string",
- "id": 0,
- "is_verified": true,
- "issues_url": "string",
- "location": "string",
- "login": "string",
- "members_allowed_repository_creation_type": "string",
- "members_can_create_internal_repositories": true,
- "members_can_create_pages": true,
- "members_can_create_private_pages": true,
- "members_can_create_private_repositories": true,
- "members_can_create_public_pages": true,
- "members_can_create_public_repositories": true,
- "members_can_create_repositories": true,
- "members_can_fork_private_repositories": true,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "owned_private_repos": 0,
- "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_members_url": "string",
- "public_repos": 0,
- "repos_url": "string",
- "secret_scanning_enabled_for_new_repositories": true,
- "secret_scanning_push_protection_enabled_for_new_repositories": true,
- "secret_scanning_validity_checks_enabled": true,
- "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_requirement_enabled": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string",
- "web_commit_signoff_required": true
}, - "owner": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": "string",
- "matches": [
- {
- "indices": [
- 0
], - "text": "string"
}
], - "object_type": "string",
- "object_url": "string",
- "property": "string"
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}, - "parent": { },
- "permissions": {
- "property1": true,
- "property2": true
}, - "private": true,
- "pulls_url": "string",
- "pushed_at": {
- "time.Time": "string"
}, - "releases_url": "string",
- "role_name": "string",
- "security_and_analysis": {
- "advanced_security": {
- "status": "string"
}, - "dependabot_security_updates": {
- "status": "string"
}, - "secret_scanning": {
- "status": "string"
}, - "secret_scanning_push_protection": {
- "status": "string"
}, - "secret_scanning_validity_checks": {
- "status": "string"
}
}, - "size": 0,
- "source": { },
- "squash_merge_commit_message": "string",
- "squash_merge_commit_title": "string",
- "ssh_url": "string",
- "stargazers_count": 0,
- "stargazers_url": "string",
- "statuses_url": "string",
- "subscribers_count": 0,
- "subscribers_url": "string",
- "subscription_url": "string",
- "svn_url": "string",
- "tags_url": "string",
- "team_id": 0,
- "teams_url": "string",
- "template_repository": { },
- "text_matches": [
- {
- "fragment": "string",
- "matches": [
- {
- "indices": [
- 0
], - "text": "string"
}
], - "object_type": "string",
- "object_url": "string",
- "property": "string"
}
], - "topics": [
- "string"
], - "trees_url": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string",
- "use_squash_pr_title_as_default": true,
- "visibility": "string",
- "watchers": 0,
- "watchers_count": 0,
- "web_commit_signoff_required": true
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Generates a token for accessing a specific repository
X-Astro-API-Key required | string APIKey |
Repository information
property name* additional property | string |
{- "property1": "string",
- "property2": "string"
}
{- "data": { },
- "id": "string",
- "message": "string",
- "status": "string"
}
List all branches in a GitHub repository
repoUrl required | string Repository URL |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "commit": {
- "author": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": "string",
- "matches": [
- {
- "indices": [
- null
], - "text": "string"
}
], - "object_type": "string",
- "object_url": "string",
- "property": "string"
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}, - "comments_url": "string",
- "commit": {
- "author": {
- "date": {
- "time.Time": "string"
}, - "email": "string",
- "name": "string",
- "username": "string"
}, - "comment_count": 0,
- "committer": {
- "date": {
- "time.Time": "string"
}, - "email": "string",
- "name": "string",
- "username": "string"
}, - "html_url": "string",
- "message": "string",
- "node_id": "string",
- "parents": [
- { }
], - "sha": "string",
- "stats": {
- "additions": 0,
- "deletions": 0,
- "total": 0
}, - "tree": {
- "sha": "string",
- "tree": [
- {
- "content": "string",
- "mode": "string",
- "path": "string",
- "sha": "string",
- "size": 0,
- "type": "string",
- "url": "string"
}
], - "truncated": true
}, - "url": "string",
- "verification": {
- "payload": "string",
- "reason": "string",
- "signature": "string",
- "verified": true
}
}, - "committer": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": "string",
- "matches": [
- {
- "indices": [
- null
], - "text": "string"
}
], - "object_type": "string",
- "object_url": "string",
- "property": "string"
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}, - "files": [
- {
- "additions": 0,
- "blob_url": "string",
- "changes": 0,
- "contents_url": "string",
- "deletions": 0,
- "filename": "string",
- "patch": "string",
- "previous_filename": "string",
- "raw_url": "string",
- "sha": "string",
- "status": "string"
}
], - "html_url": "string",
- "node_id": "string",
- "parents": [
- {
- "author": {
- "date": {
- "time.Time": "string"
}, - "email": "string",
- "name": "string",
- "username": "string"
}, - "comment_count": 0,
- "committer": {
- "date": {
- "time.Time": "string"
}, - "email": "string",
- "name": "string",
- "username": "string"
}, - "html_url": "string",
- "message": "string",
- "node_id": "string",
- "parents": [
- { }
], - "sha": "string",
- "stats": {
- "additions": 0,
- "deletions": 0,
- "total": 0
}, - "tree": {
- "sha": "string",
- "tree": [
- {
- "content": "string",
- "mode": "string",
- "path": "string",
- "sha": "string",
- "size": 0,
- "type": "string",
- "url": "string"
}
], - "truncated": true
}, - "url": "string",
- "verification": {
- "payload": "string",
- "reason": "string",
- "signature": "string",
- "verified": true
}
}
], - "sha": "string",
- "stats": {
- "additions": 0,
- "deletions": 0,
- "total": 0
}, - "url": "string"
}, - "name": "string",
- "protected": true,
- "protection": {
- "allow_deletions": {
- "enabled": true
}, - "allow_force_pushes": {
- "enabled": true
}, - "allow_fork_syncing": {
- "enabled": true
}, - "block_creations": {
- "enabled": true
}, - "enforce_admins": {
- "enabled": true,
- "url": "string"
}, - "lock_branch": {
- "enabled": true
}, - "required_conversation_resolution": {
- "enabled": true
}, - "required_linear_history": {
- "enabled": true
}, - "required_pull_request_reviews": {
- "bypass_pull_request_allowances": {
- "apps": [
- {
- "created_at": {
- "time.Time": "string"
}, - "description": "string",
- "events": [
- "string"
], - "external_url": "string",
- "html_url": "string",
- "id": 0,
- "installations_count": 0,
- "name": "string",
- "node_id": "string",
- "owner": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": null
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": null,
- "property2": null
}, - "plan": {
- "collaborators": null,
- "filled_seats": null,
- "name": null,
- "private_repos": null,
- "seats": null,
- "space": null
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": null
}, - "text_matches": [
- null
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": null
}, - "url": "string"
}, - "permissions": {
- "actions": "string",
- "administration": "string",
- "blocking": "string",
- "checks": "string",
- "content_references": "string",
- "contents": "string",
- "deployments": "string",
- "emails": "string",
- "environments": "string",
- "followers": "string",
- "issues": "string",
- "members": "string",
- "metadata": "string",
- "organization_administration": "string",
- "organization_custom_properties": "string",
- "organization_custom_roles": "string",
- "organization_hooks": "string",
- "organization_packages": "string",
- "organization_plan": "string",
- "organization_pre_receive_hooks": "string",
- "organization_projects": "string",
- "organization_secrets": "string",
- "organization_self_hosted_runners": "string",
- "organization_user_blocking": "string",
- "packages": "string",
- "pages": "string",
- "pull_requests": "string",
- "repository_hooks": "string",
- "repository_pre_receive_hooks": "string",
- "repository_projects": "string",
- "secret_scanning_alerts": "string",
- "secrets": "string",
- "security_events": "string",
- "single_file": "string",
- "statuses": "string",
- "team_discussions": "string",
- "vulnerability_alerts": "string",
- "workflows": "string"
}, - "slug": "string",
- "updated_at": {
- "time.Time": "string"
}
}
], - "teams": [
- {
- "description": "string",
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "members_count": 0,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "organization": {
- "advanced_security_enabled_for_new_repositories": true,
- "avatar_url": "string",
- "billing_email": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": null
}, - "default_repository_permission": "string",
- "default_repository_settings": "string",
- "dependabot_alerts_enabled_for_new_repositories": true,
- "dependabot_security_updates_enabled_for_new_repositories": true,
- "dependency_graph_enabled_for_new_repositories": true,
- "description": "string",
- "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "following": 0,
- "has_organization_projects": true,
- "has_repository_projects": true,
- "hooks_url": "string",
- "html_url": "string",
- "id": 0,
- "is_verified": true,
- "issues_url": "string",
- "location": "string",
- "login": "string",
- "members_allowed_repository_creation_type": "string",
- "members_can_create_internal_repositories": true,
- "members_can_create_pages": true,
- "members_can_create_private_pages": true,
- "members_can_create_private_repositories": true,
- "members_can_create_public_pages": true,
- "members_can_create_public_repositories": true,
- "members_can_create_repositories": true,
- "members_can_fork_private_repositories": true,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "owned_private_repos": 0,
- "plan": {
- "collaborators": null,
- "filled_seats": null,
- "name": null,
- "private_repos": null,
- "seats": null,
- "space": null
}, - "private_gists": 0,
- "public_gists": 0,
- "public_members_url": "string",
- "public_repos": 0,
- "repos_url": "string",
- "secret_scanning_enabled_for_new_repositories": true,
- "secret_scanning_push_protection_enabled_for_new_repositories": true,
- "secret_scanning_validity_checks_enabled": true,
- "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_requirement_enabled": true,
- "type": "string",
- "updated_at": {
- "time.Time": null
}, - "url": "string",
- "web_commit_signoff_required": true
}, - "parent": { },
- "permission": "string",
- "permissions": {
- "property1": true,
- "property2": true
}, - "privacy": "string",
- "repos_count": 0,
- "repositories_url": "string",
- "slug": "string",
- "url": "string"
}
], - "users": [
- {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": null,
- "matches": [ ],
- "object_type": null,
- "object_url": null,
- "property": null
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}
]
}, - "dismiss_stale_reviews": true,
- "dismissal_restrictions": {
- "apps": [
- {
- "created_at": {
- "time.Time": "string"
}, - "description": "string",
- "events": [
- "string"
], - "external_url": "string",
- "html_url": "string",
- "id": 0,
- "installations_count": 0,
- "name": "string",
- "node_id": "string",
- "owner": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": null
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": null,
- "property2": null
}, - "plan": {
- "collaborators": null,
- "filled_seats": null,
- "name": null,
- "private_repos": null,
- "seats": null,
- "space": null
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": null
}, - "text_matches": [
- null
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": null
}, - "url": "string"
}, - "permissions": {
- "actions": "string",
- "administration": "string",
- "blocking": "string",
- "checks": "string",
- "content_references": "string",
- "contents": "string",
- "deployments": "string",
- "emails": "string",
- "environments": "string",
- "followers": "string",
- "issues": "string",
- "members": "string",
- "metadata": "string",
- "organization_administration": "string",
- "organization_custom_properties": "string",
- "organization_custom_roles": "string",
- "organization_hooks": "string",
- "organization_packages": "string",
- "organization_plan": "string",
- "organization_pre_receive_hooks": "string",
- "organization_projects": "string",
- "organization_secrets": "string",
- "organization_self_hosted_runners": "string",
- "organization_user_blocking": "string",
- "packages": "string",
- "pages": "string",
- "pull_requests": "string",
- "repository_hooks": "string",
- "repository_pre_receive_hooks": "string",
- "repository_projects": "string",
- "secret_scanning_alerts": "string",
- "secrets": "string",
- "security_events": "string",
- "single_file": "string",
- "statuses": "string",
- "team_discussions": "string",
- "vulnerability_alerts": "string",
- "workflows": "string"
}, - "slug": "string",
- "updated_at": {
- "time.Time": "string"
}
}
], - "teams": [
- {
- "description": "string",
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "members_count": 0,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "organization": {
- "advanced_security_enabled_for_new_repositories": true,
- "avatar_url": "string",
- "billing_email": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": null
}, - "default_repository_permission": "string",
- "default_repository_settings": "string",
- "dependabot_alerts_enabled_for_new_repositories": true,
- "dependabot_security_updates_enabled_for_new_repositories": true,
- "dependency_graph_enabled_for_new_repositories": true,
- "description": "string",
- "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "following": 0,
- "has_organization_projects": true,
- "has_repository_projects": true,
- "hooks_url": "string",
- "html_url": "string",
- "id": 0,
- "is_verified": true,
- "issues_url": "string",
- "location": "string",
- "login": "string",
- "members_allowed_repository_creation_type": "string",
- "members_can_create_internal_repositories": true,
- "members_can_create_pages": true,
- "members_can_create_private_pages": true,
- "members_can_create_private_repositories": true,
- "members_can_create_public_pages": true,
- "members_can_create_public_repositories": true,
- "members_can_create_repositories": true,
- "members_can_fork_private_repositories": true,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "owned_private_repos": 0,
- "plan": {
- "collaborators": null,
- "filled_seats": null,
- "name": null,
- "private_repos": null,
- "seats": null,
- "space": null
}, - "private_gists": 0,
- "public_gists": 0,
- "public_members_url": "string",
- "public_repos": 0,
- "repos_url": "string",
- "secret_scanning_enabled_for_new_repositories": true,
- "secret_scanning_push_protection_enabled_for_new_repositories": true,
- "secret_scanning_validity_checks_enabled": true,
- "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_requirement_enabled": true,
- "type": "string",
- "updated_at": {
- "time.Time": null
}, - "url": "string",
- "web_commit_signoff_required": true
}, - "parent": { },
- "permission": "string",
- "permissions": {
- "property1": true,
- "property2": true
}, - "privacy": "string",
- "repos_count": 0,
- "repositories_url": "string",
- "slug": "string",
- "url": "string"
}
], - "users": [
- {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": null,
- "matches": [ ],
- "object_type": null,
- "object_url": null,
- "property": null
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}
]
}, - "require_code_owner_reviews": true,
- "require_last_push_approval": true,
- "required_approving_review_count": 0
}, - "required_signatures": {
- "enabled": true,
- "url": "string"
}, - "required_status_checks": {
- "checks": [
- {
- "app_id": 0,
- "context": "string"
}
], - "contexts": [
- "string"
], - "contexts_url": "string",
- "strict": true,
- "url": "string"
}, - "restrictions": {
- "apps": [
- {
- "created_at": {
- "time.Time": "string"
}, - "description": "string",
- "events": [
- "string"
], - "external_url": "string",
- "html_url": "string",
- "id": 0,
- "installations_count": 0,
- "name": "string",
- "node_id": "string",
- "owner": {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": null,
- "matches": [ ],
- "object_type": null,
- "object_url": null,
- "property": null
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}, - "permissions": {
- "actions": "string",
- "administration": "string",
- "blocking": "string",
- "checks": "string",
- "content_references": "string",
- "contents": "string",
- "deployments": "string",
- "emails": "string",
- "environments": "string",
- "followers": "string",
- "issues": "string",
- "members": "string",
- "metadata": "string",
- "organization_administration": "string",
- "organization_custom_properties": "string",
- "organization_custom_roles": "string",
- "organization_hooks": "string",
- "organization_packages": "string",
- "organization_plan": "string",
- "organization_pre_receive_hooks": "string",
- "organization_projects": "string",
- "organization_secrets": "string",
- "organization_self_hosted_runners": "string",
- "organization_user_blocking": "string",
- "packages": "string",
- "pages": "string",
- "pull_requests": "string",
- "repository_hooks": "string",
- "repository_pre_receive_hooks": "string",
- "repository_projects": "string",
- "secret_scanning_alerts": "string",
- "secrets": "string",
- "security_events": "string",
- "single_file": "string",
- "statuses": "string",
- "team_discussions": "string",
- "vulnerability_alerts": "string",
- "workflows": "string"
}, - "slug": "string",
- "updated_at": {
- "time.Time": "string"
}
}
], - "teams": [
- {
- "description": "string",
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "members_count": 0,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "organization": {
- "advanced_security_enabled_for_new_repositories": true,
- "avatar_url": "string",
- "billing_email": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "default_repository_permission": "string",
- "default_repository_settings": "string",
- "dependabot_alerts_enabled_for_new_repositories": true,
- "dependabot_security_updates_enabled_for_new_repositories": true,
- "dependency_graph_enabled_for_new_repositories": true,
- "description": "string",
- "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "following": 0,
- "has_organization_projects": true,
- "has_repository_projects": true,
- "hooks_url": "string",
- "html_url": "string",
- "id": 0,
- "is_verified": true,
- "issues_url": "string",
- "location": "string",
- "login": "string",
- "members_allowed_repository_creation_type": "string",
- "members_can_create_internal_repositories": true,
- "members_can_create_pages": true,
- "members_can_create_private_pages": true,
- "members_can_create_private_repositories": true,
- "members_can_create_public_pages": true,
- "members_can_create_public_repositories": true,
- "members_can_create_repositories": true,
- "members_can_fork_private_repositories": true,
- "members_url": "string",
- "name": "string",
- "node_id": "string",
- "owned_private_repos": 0,
- "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_members_url": "string",
- "public_repos": 0,
- "repos_url": "string",
- "secret_scanning_enabled_for_new_repositories": true,
- "secret_scanning_push_protection_enabled_for_new_repositories": true,
- "secret_scanning_validity_checks_enabled": true,
- "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_requirement_enabled": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string",
- "web_commit_signoff_required": true
}, - "parent": { },
- "permission": "string",
- "permissions": {
- "property1": true,
- "property2": true
}, - "privacy": "string",
- "repos_count": 0,
- "repositories_url": "string",
- "slug": "string",
- "url": "string"
}
], - "users": [
- {
- "avatar_url": "string",
- "bio": "string",
- "blog": "string",
- "collaborators": 0,
- "company": "string",
- "created_at": {
- "time.Time": "string"
}, - "disk_usage": 0,
- "email": "string",
- "events_url": "string",
- "followers": 0,
- "followers_url": "string",
- "following": 0,
- "following_url": "string",
- "gists_url": "string",
- "gravatar_id": "string",
- "hireable": true,
- "html_url": "string",
- "id": 0,
- "ldap_dn": "string",
- "location": "string",
- "login": "string",
- "name": "string",
- "node_id": "string",
- "organizations_url": "string",
- "owned_private_repos": 0,
- "permissions": {
- "property1": true,
- "property2": true
}, - "plan": {
- "collaborators": 0,
- "filled_seats": 0,
- "name": "string",
- "private_repos": 0,
- "seats": 0,
- "space": 0
}, - "private_gists": 0,
- "public_gists": 0,
- "public_repos": 0,
- "received_events_url": "string",
- "repos_url": "string",
- "role_name": "string",
- "site_admin": true,
- "starred_url": "string",
- "subscriptions_url": "string",
- "suspended_at": {
- "time.Time": "string"
}, - "text_matches": [
- {
- "fragment": "string",
- "matches": [
- null
], - "object_type": "string",
- "object_url": "string",
- "property": "string"
}
], - "total_private_repos": 0,
- "twitter_username": "string",
- "two_factor_authentication": true,
- "type": "string",
- "updated_at": {
- "time.Time": "string"
}, - "url": "string"
}
]
}, - "url": "string"
}
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Browse files and directories in a GitHub repository
repoUrl required | string Repository URL |
branch | string Branch name (defaults to default branch) |
path | string Path within repository (defaults to root) |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "content": "string",
- "download_url": "string",
- "encoding": "string",
- "git_url": "string",
- "html_url": "string",
- "name": "string",
- "path": "string",
- "sha": "string",
- "size": 0,
- "submodule_git_url": "string",
- "target": "string",
- "type": "string",
- "url": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Get the raw content of a file from a GitHub repository
repoUrl required | string Repository URL |
branch | string Branch name (defaults to main) |
filePath required | string File path within repository |
X-Astro-API-Key required | string APIKey |
{- "data": { },
- "id": "string",
- "message": "string",
- "status": "string"
}
Checks if a file path exists in a GitHub repository
X-Astro-API-Key required | string APIKey |
Repository and path information
property name* additional property | string |
{- "property1": "string",
- "property2": "string"
}
{- "data": { },
- "id": "string",
- "message": "string",
- "status": "string"
}
Gets all notification integrations for an organization
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": [
- {
- "channel": "email",
- "config": {
- "addresses": [
- "string"
], - "botTokenRef": "string",
- "channel": "string",
- "enabled": true,
- "installedBy": [
- "string"
], - "type": "webhook",
- "webhookUrl": "string",
- "workspaceId": "string"
}, - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "updatedAt": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Creates or updates a notification integration configuration
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
Integration configuration
channel | string (models.NotificationChannelType) Enum: "email" "slack" |
object (models.NotificationIntegrationConfigInput) | |
enabled | boolean |
{- "channel": "email",
- "config": {
- "addresses": [
- "string"
], - "botTokenRef": "string",
- "channel": "string",
- "enabled": true,
- "installedBy": [
- "string"
], - "type": "webhook",
- "webhookUrl": "string",
- "workspaceId": "string"
}, - "enabled": true
}
{- "data": {
- "channel": "email",
- "config": {
- "addresses": [
- "string"
], - "botTokenRef": "string",
- "channel": "string",
- "enabled": true,
- "installedBy": [
- "string"
], - "type": "webhook",
- "webhookUrl": "string",
- "workspaceId": "string"
}, - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "updatedAt": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Deletes a notification integration configuration
channel required | string Channel type (email, slack) |
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": true,
- "id": "string",
- "message": "string",
- "status": "string"
}
Gets a specific notification integration by type
channel required | string Channel type (email, slack) |
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": {
- "channel": "email",
- "config": {
- "addresses": [
- "string"
], - "botTokenRef": "string",
- "channel": "string",
- "enabled": true,
- "installedBy": [
- "string"
], - "type": "webhook",
- "webhookUrl": "string",
- "workspaceId": "string"
}, - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "updatedAt": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Gets all notification subscriptions for an organization
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": [
- {
- "channels": [
- "email"
], - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "system": true,
- "topic": "string",
- "updatedAt": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Creates or updates a notification subscription for an organization
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
Subscription configuration
channels | Array of strings (models.NotificationChannelType) Items Enum: "email" "slack" |
enabled | boolean |
topic | string |
{- "channels": [
- "email"
], - "enabled": true,
- "topic": "string"
}
{- "data": {
- "channels": [
- "email"
], - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "system": true,
- "topic": "string",
- "updatedAt": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Deletes a notification subscription for a specific topic
topic required | string Notification topic |
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": true,
- "id": "string",
- "message": "string",
- "status": "string"
}
Gets a specific notification subscription by topic
topic required | string Notification topic |
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
{- "data": {
- "channels": [
- "email"
], - "createdAt": "string",
- "enabled": true,
- "id": "string",
- "orgId": "string",
- "system": true,
- "topic": "string",
- "updatedAt": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Handles unsubscribe requests for the authenticated user's organization
X-Astro-API-Key | string APIKey |
Authorization | string Auth0 Bearer token |
X-Astro-Organization-ID required | string Organization ID |
Unsubscribe request
channel | string channel is the optional notification channel to unsubscribe from If not specified, unsubscribes from all channels for the topic |
topic required | string topic is the notification topic to unsubscribe from |
{- "channel": "string",
- "topic": "string"
}
{- "data": true,
- "id": "string",
- "message": "string",
- "status": "string"
}
Get a list of organizations associated with the authenticated user
page | integer Page number for pagination |
pageSize | integer Number of items per page |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Create an organization. admin role is required to create an organization.
X-Astro-API-Key required | string APIKey |
organization request
name required | string [ 1 .. 50 ] characters name is the name of the organization. Every organization name should be unique. This must be a valid DNS name, and must be between 1 and 50 characters. This is a required field. |
title | string Title is the title of the organization. |
{- "name": "string",
- "title": "string"
}
{- "data": {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get organization details by ID
id required | string Organization ID |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get all members of an organization with pagination
id required | string Organization ID |
page | integer Page number (default: 1) |
pageSize | integer Items per page (default: 10) |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "pagination": {
- "currentPage": 0,
- "hasNextPage": true,
- "itemsPerPage": 0,
- "totalItem": 0,
- "totalPages": 0
}, - "users": [
- {
- "email": "string",
- "joinedAt": "string",
- "name": "string",
- "orgId": "string",
- "planId": "string",
- "role": "string",
- "userId": "string"
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get the current subscription plan for an organization
id required | string Organization ID |
X-Astro-API-Key required | string APIKey |
{- "data": "string",
- "id": "string",
- "message": "string",
- "status": "string"
}
Add a user to an organization with specified role
X-Astro-API-Key required | string APIKey |
User details and role
orgId required | string orgId is the organization ID. |
role required | string Enum: "viewer" "editor" "admin" role is the organization role to assign to the user. If not provided, defaults to "viewer" |
userId required | string userId is the user ID. |
{- "orgId": "string",
- "role": "viewer",
- "userId": "string"
}
{- "data": {
- "email": "string",
- "joinedAt": "string",
- "name": "string",
- "orgId": "string",
- "planId": "string",
- "role": "string",
- "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get all available subscription plans
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "createdAt": "string",
- "cta": {
- "href": "string",
- "text": "string",
- "variant": "string"
}, - "description": "string",
- "highlight": true,
- "id": "string",
- "name": "string",
- "popular": true,
- "price": {
- "monthly": 0,
- "yearly": 0
}, - "updatedAt": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Remove a user from an organization
X-Astro-API-Key required | string APIKey |
User details
orgId required | string orgId is the organization ID. |
userId required | string userId is the user ID. |
{- "orgId": "string",
- "userId": "string"
}
{- "data": "string",
- "id": "string",
- "message": "string",
- "status": "string"
}
Get available roles for an organization
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Gets all pricing data including plans and categories for public use
{- "data": {
- "categories": [
- {
- "features": [
- {
- "description": "string",
- "developer": {
- "allowedRoles": [
- "string"
], - "enabled": true,
- "limit": 0,
- "tier": "string"
}, - "enterprise": {
- "allowedRoles": [
- "string"
], - "enabled": true,
- "limit": 0,
- "tier": "string"
}, - "id": "string",
- "name": "string"
}
], - "id": "string",
- "name": "string"
}
], - "plans": [
- {
- "createdAt": "string",
- "cta": {
- "href": "string",
- "text": "string",
- "variant": "string"
}, - "description": "string",
- "highlight": true,
- "id": "string",
- "name": "string",
- "popular": true,
- "price": {
- "monthly": 0,
- "yearly": 0
}, - "updatedAt": "string"
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Lists all available regions for the specified cloud provider
providerId required | string Provider ID (e.g., aws, gcp, azure) |
X-Astro-API-Key required | string APIKey |
{- "data": [
- "string"
], - "id": "string",
- "message": "string",
- "status": "string"
}
Lists all available machine types for the specified provider, region, and zone
providerId required | string Provider ID (e.g., aws, gcp, azure) |
regionId required | string Region ID |
zoneId required | string Zone ID |
cpuMin | string Minimum CPU requirement (e.g., '1', '500m') |
cpuMax | string Maximum CPU requirement (e.g., '4', '2000m') |
memMin | string Minimum memory requirement (e.g., '1Gi', '512Mi') |
memMax | string Maximum memory requirement (e.g., '8Gi', '4Gi') |
category | string Enum: "GeneralPurpose" "ComputeOptimized" "MemoryOptimized" "AcceleratorOptimized" "GPU" Machine type category |
architecture | string Enum: "x86_64" "arm64" CPU architecture |
zoneId | string Zone ID (if not specified, first available zone will be used) |
X-Astro-API-Key required | string APIKey |
{- "data": [
- {
- "architecture": [
- "string"
], - "category": "string",
- "infos": { },
- "memoryMb": 0,
- "name": "string",
- "onDemandPricePerHour": "string",
- "osPlatform": "string",
- "spotPricePerHour": "string",
- "timeGenerated": "string",
- "vCPU": 0,
- "zone": "string"
}
], - "id": "string",
- "message": "string",
- "status": "string"
}
Get detailed information about a specific machine type
providerId required | string Provider ID (e.g., aws, gcp, azure) |
regionId required | string Region name |
machinetypeId required | string Machine type name |
zoneId | string Zone ID (if not specified, first available zone will be used) |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "architecture": [
- "string"
], - "category": "string",
- "infos": { },
- "memoryMb": 0,
- "name": "string",
- "onDemandPricePerHour": "string",
- "osPlatform": "string",
- "spotPricePerHour": "string",
- "timeGenerated": "string",
- "vCPU": 0,
- "zone": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Lists all available zones for the specified region in a cloud provider
providerId required | string Provider ID (e.g., aws, gcp, azure) |
regionId required | string Region ID |
X-Astro-API-Key required | string APIKey |
{- "data": [
- "string"
], - "id": "string",
- "message": "string",
- "status": "string"
}
Get the list of supported Kubernetes versions for a specific provisioner and cloud provider
region | string Cloud region (optional, uses default regions per provider) |
provisionerType required | string Enum: "selfHosted" "eks" Provisioner type |
cloudProvider required | string Enum: "aws" "gcp" Cloud provider |
X-Astro-API-Key required | string APIKey |
{- "data": {
- "defaultVersion": "string",
- "error": {
- "message": "string"
}, - "supportedVersions": [
- "string"
], - "upgradePaths": [
- {
- "fromVersion": "string",
- "toVersion": "string",
- "upgradeType": "string",
- "warnings": [
- "string"
]
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
{- "data": {
- "createdAt": "string",
- "email": "string",
- "identityProvider": "string",
- "loginCount": 0,
- "name": "string",
- "organization": [
- {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}
], - "preferredOrganizationId": "string",
- "roles": [
- "string"
], - "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
{- "data": {
- "createdAt": "string",
- "email": "string",
- "identityProvider": "string",
- "loginCount": 0,
- "name": "string",
- "organization": [
- {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}
], - "preferredOrganizationId": "string",
- "roles": [
- "string"
], - "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get a paginated list of users in an organization
orgId required | string Organization ID |
page | integer Page number (default: 1) |
pageSize | integer Items per page (default: 10) |
{- "data": {
- "pagination": {
- "currentPage": 0,
- "hasNextPage": true,
- "itemsPerPage": 0,
- "totalItem": 0,
- "totalPages": 0
}, - "users": [
- {
- "email": "string",
- "joinedAt": "string",
- "name": "string",
- "orgId": "string",
- "planId": "string",
- "role": "string",
- "userId": "string"
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Get a paginated list of all users
page | integer Page number (default: 1) |
pageSize | integer Items per page (default: 10) |
{- "data": {
- "pagination": {
- "currentPage": 0,
- "hasNextPage": true,
- "itemsPerPage": 0,
- "totalItem": 0,
- "totalPages": 0
}, - "users": [
- {
- "email": "string",
- "joinedAt": "string",
- "name": "string",
- "orgId": "string",
- "planId": "string",
- "role": "string",
- "userId": "string"
}
]
}, - "id": "string",
- "message": "string",
- "status": "string"
}
{- "data": {
- "createdAt": "string",
- "email": "string",
- "identityProvider": "string",
- "loginCount": 0,
- "name": "string",
- "organization": [
- {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}
], - "preferredOrganizationId": "string",
- "roles": [
- "string"
], - "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}
Update a user's profile information
id required | string User ID |
User update information
Roles | Array of strings |
loginCount | integer |
userId | string |
{- "Roles": [
- "string"
], - "loginCount": 0,
- "userId": "string"
}
{- "data": {
- "createdAt": "string",
- "email": "string",
- "identityProvider": "string",
- "loginCount": 0,
- "name": "string",
- "organization": [
- {
- "createdAt": "string",
- "id": "string",
- "members": [
- {
- "joinedAt": "string",
- "role": "string",
- "userId": "string"
}
], - "name": "string",
- "orgNamespace": "string",
- "owner": true,
- "ownerUserId": "string",
- "planId": "string",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "description": "string",
- "id": "string",
- "name": "string"
}
]
}
], - "slug": "string",
- "title": "string",
- "userRole": "string"
}
], - "preferredOrganizationId": "string",
- "roles": [
- "string"
], - "userId": "string"
}, - "id": "string",
- "message": "string",
- "status": "string"
}