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"
}