Get drift
Where what was declared and what runs disagree. Each list is capped
at 100 (200 for exposed) with a truncated flag:
unowned: live resources with no service, per environment and kindundeployed: services with no live resource; retired ones are left outenvironment_diff: per service running in more than one environment, the kinds and names it runs in some and not others, compared without the namespaceversion_diff: per service, the workloads running different images in one environment than in anothervanished: missing and gone resources, most recent firstnot_ready: live workloads with fewer pods ready than wanted, or containers failingexposed: cloud resources whose security groups open an admin port (SSH, RDP, databases) to the whole internet
environment_diff and version_diff always compare every
environment, whatever environment_id says.
Requires the catalog:component:read and catalog:resource:read scopes.
Authorization
Parameters
Query parameters
environment_idstringOnly this environment.
Responses
200
The drift report.
dataDriftShow Drift properties
unownedobjecttotalintegerby_kindarray of objectenvironment_idstringproviderstringkindstringcategorystringliveintegerunownedinteger
truncatedboolean
undeployedobjecttotalintegercomponentsarray of objectidstringslugstringdisplay_namestringowner_team_idstring | nulllifecycleLifecycle
truncatedboolean
environment_diffobjectcomponentsarray of objectcomponent_idstringslugstringenvironmentsarray of stringdifferencesarray of objectkindstringnamestringpresent_inarray of stringmissing_fromarray of string
truncatedboolean
version_diffobjectworkloadsarray of objectcomponent_idstringslugstringkindstringnamestringenvironmentsarray of objectenvironment_idstringimagesarray of string
truncatedboolean
vanishedobjectmissingintegergoneintegerresourcesarray of objectidstringenvironment_idstringproviderstringkindstringnamestringnamespacestringcomponent_idstring | nullstatusstringmissing_sincestring (date-time)
truncatedboolean
not_readyobjectworkloadsarray of objectresource_idstringenvironment_idstringkindstringnamestringnamespacestringreadyintegerdesiredintegerrestartsintegerreasonsobjecthealthHealth
truncatedboolean
exposedobjectresourcesarray of objectresource_idstringenvironment_idstringproviderstringkindstringnamestringregionstringportsarray of ExposedPortShow ExposedPort properties
portintegerservicestringprotocolstringfromstringsecurity_group_idstring
truncatedboolean
400
The request is not valid: a field or filter value is wrong
(VALIDATION_ERROR, with a sentence saying what), the body is not
the expected JSON or carries an unknown field (INVALID_BODY), the
cursor is not one this list gave (INVALID_CURSOR), a binding names
a service that does not exist (UNKNOWN_COMPONENT), or a PATCH
tries to change a slug (SLUG_IMMUTABLE).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
403
The key lacks a scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
429
Too many requests (RATE_LIMITED). Wait for Retry-After seconds.
Retry-AfterintegerSeconds to wait before retrying.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
Example request
curl -X GET 'https://evohub.io/api/v1/catalog/drift' \
-H 'Authorization: Bearer <TOKEN>'
