# Extensions

## GET /extensions

> List Extensions

```json
{"openapi":"3.1.1","info":{"title":"","version":"0.0.1"},"servers":[{"url":"/v1"}],"paths":{"/extensions":{"get":{"tags":["extensions"],"summary":"List Extensions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ExtensionsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}}}}}},"components":{"schemas":{"model.ExtensionsResponse":{"type":"object","properties":{"extensions":{"type":"array","items":{"$ref":"#/components/schemas/model.Extension"}}}},"model.Extension":{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"allOf":[{"$ref":"#/components/schemas/model.Kind"}]},"metadata":{"$ref":"#/components/schemas/model.Metadata"},"spec":{"$ref":"#/components/schemas/model.ParameterizedSpec"},"status":{"$ref":"#/components/schemas/model.VersionStatus"}}},"model.Kind":{"type":"string","enum":["Configuration","Agent","AgentType","AgentVersion","Source","Processor","Connector","Destination","Extension","SourceType","ProcessorType","ConnectorType","DestinationType","ExtensionType","RecommendationType","Unknown","Rollout","RolloutType","Organization","Account","Invitation","Login","User","AccountOrganizationBinding","UserOrganizationBinding","UserAccountBinding","AuditTrail","AvailableComponents","SecretsManagerType","SecretsManager","Recording","Credential","CredentialType","Fleet","Integration","IntegrationType","ConfigurationType","Notification","Recommendation","PublicProcessor","Blueprint","PrometheusRule","APIKey","ResourcePreset"]},"model.Metadata":{"type":"object","properties":{"additionalInfo":{"$ref":"#/components/schemas/model.AdditionalInfo"},"blueprintTags":{"description":"BlueprintTags holds categorized tags for blueprints (e.g., use-case, destination).\nUnlike Labels, this supports multiple values per category.","allOf":[{"$ref":"#/components/schemas/model.BlueprintTags"}]},"dateModified":{"type":"string"},"deprecated":{"description":"Deprecated indicates that this resource is deprecated and should not be used. Deprecated resources should contain\nadditional information about why the resource is deprecated and what should be used instead.\nNote: Ironically, the Deprecated field is itself deprecated. Use Stability instead.","type":"boolean"},"description":{"type":"string"},"displayName":{"type":"string"},"hash":{"description":"Hash is a hex formatted sha256 Hash of the json-encoded spec that is used to determine if the spec has changed.","type":"string"},"icon":{"type":"string"},"id":{"type":"string"},"labels":{"$ref":"#/components/schemas/model.Labels"},"name":{"type":"string"},"resourceDocLink":{"type":"string"},"stability":{"description":"Stability is the stability of the resource, one of development, alpha, beta, stable, or\ndeprecated. This should be used instead of the Deprecated field.","allOf":[{"$ref":"#/components/schemas/model.Stability"}]},"version":{"description":"Version is a 1-based integer that is incremented each time the spec is changed.","type":"integer"},"warning":{"description":"Warning is an optional message that is displayed to the user when the resource is configured. Currently used for IntegrationTypes.","type":"string"}}},"model.AdditionalInfo":{"type":"object","properties":{"documentation":{"type":"array","items":{"$ref":"#/components/schemas/model.DocumentationLink"}},"message":{"type":"string"}}},"model.DocumentationLink":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}},"model.BlueprintTags":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"model.Labels":{"type":"object"},"model.Stability":{"type":"string","enum":["development","alpha","beta","stable","deprecated",""]},"model.ParameterizedSpec":{"type":"object","properties":{"disabled":{"type":"boolean"},"licenseEnabled":{"description":"LicenseEnabled is a flag to indicate if the resource is licensed.","type":"boolean"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/model.Parameter"}},"presetTarget":{"description":"PresetTarget identifies the resource type that this resource preset applies to.","allOf":[{"$ref":"#/components/schemas/model.ResourcePresetTarget"}]},"processors":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceConfiguration"}},"public":{"type":"boolean"},"recommendation":{"description":"If this resource (currently only processors) was added to a configuration based on a recommendation, this field\nis set to the name of that recommendation type.","type":"string"},"telemetryExample":{"description":"TelemetryExample is an optional before/after example showing the transformation\na blueprint applies to telemetry data.","allOf":[{"$ref":"#/components/schemas/model.TelemetryExample"}]},"type":{"type":"string"},"version":{"type":"string"}}},"model.Parameter":{"type":"object","properties":{"credential":{"description":"Credential indicates if this parameter's value should be treated as a credential reference","type":"boolean"},"name":{"description":"Name is the name of the parameter","type":"string"},"sensitive":{"description":"Sensitive will be true if the value is sensitive and should be masked when printed.","type":"boolean"},"value":{"description":"Value could be any of the following: string, bool, int, enum (string), float, []string, map"}}},"model.ResourcePresetTarget":{"type":"object","properties":{"type":{"description":"Type is the resource type that this resource preset applies to.","type":"string"},"versionConstraint":{"description":"VersionConstraint is the constraint that allows this resource preset to only apply to specific versions.","type":"string"}}},"model.ResourceConfiguration":{"type":"object","properties":{"description":{"description":"Description is the description of the resource","type":"string"},"disabled":{"type":"boolean"},"displayName":{"description":"DisplayName is a friendly name of the resource that will be displayed in the UI","type":"string"},"id":{"description":"ID will be generated and is used to uniquely identify the resource","type":"string"},"licenseEnabled":{"description":"LicenseEnabled is a flag to indicate if the resource is licensed.","type":"boolean"},"name":{"description":"Name must be specified if this is a reference to another resource by name","type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/model.Parameter"}},"presetTarget":{"description":"PresetTarget identifies the resource type that this resource preset applies to.","allOf":[{"$ref":"#/components/schemas/model.ResourcePresetTarget"}]},"processors":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceConfiguration"}},"public":{"type":"boolean"},"recommendation":{"description":"If this resource (currently only processors) was added to a configuration based on a recommendation, this field\nis set to the name of that recommendation type.","type":"string"},"routes":{"description":"Routes connect resources in a configuration","allOf":[{"$ref":"#/components/schemas/model.Routes"}]},"secOpsPipelineName":{"description":"SecOpsPipelineName is the name of the pipeline that this resource is associated with. This is used for the SecOps integration.","type":"string"},"telemetryExample":{"description":"TelemetryExample is an optional before/after example showing the transformation\na blueprint applies to telemetry data.","allOf":[{"$ref":"#/components/schemas/model.TelemetryExample"}]},"type":{"type":"string"},"version":{"type":"string"}}},"model.Routes":{"type":"object","properties":{"logs":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+metrics":{"description":"pairs (alphabetical order)","type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+metrics+traces":{"description":"all three (alphabetical order)","type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"metrics+traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}}}},"model.Route":{"type":"object","properties":{"components":{"description":"Components is a list of component paths that identify a unique component in the configuration.","type":"array","items":{"type":"string"}},"id":{"description":"ID identifies this route in the routing table. It is used by the routing connector to\ncorrelate between conditions and the components connected to that condition. It is\noptional. If specified, it must be unique within the list of routes.","type":"string"}}},"model.TelemetryExample":{"type":"object","properties":{"after":{"description":"After is the structured telemetry after processing","allOf":[{"$ref":"#/components/schemas/model.TelemetryExampleEntry"}]},"before":{"description":"Before is the structured telemetry before processing","allOf":[{"$ref":"#/components/schemas/model.TelemetryExampleEntry"}]},"telemetryType":{"description":"TelemetryType indicates the kind of telemetry (e.g., \"log\", \"metric\", \"trace\")","type":"string"}}},"model.TelemetryExampleEntry":{"type":"object","properties":{"attributes":{"type":"object","additionalProperties":{}},"body":{},"observedTimestamp":{"type":"string"},"resource":{"type":"object","additionalProperties":{}},"severityNumber":{"type":"integer"},"severityText":{"type":"string"},"timestamp":{"type":"string"}}},"model.VersionStatus":{"type":"object","properties":{"latest":{"type":"boolean"}}},"model.ErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```

## GET /extensions/{name}

> Get Extension by name

```json
{"openapi":"3.1.1","info":{"title":"","version":"0.0.1"},"servers":[{"url":"/v1"}],"paths":{"/extensions/{name}":{"get":{"tags":["extensions"],"summary":"Get Extension by name","parameters":[{"schema":{"type":"string"},"description":"the name of the Extension","name":"name","in":"path","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ExtensionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}}}}}},"components":{"schemas":{"model.ExtensionResponse":{"type":"object","properties":{"extension":{"$ref":"#/components/schemas/model.Extension"}}},"model.Extension":{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"allOf":[{"$ref":"#/components/schemas/model.Kind"}]},"metadata":{"$ref":"#/components/schemas/model.Metadata"},"spec":{"$ref":"#/components/schemas/model.ParameterizedSpec"},"status":{"$ref":"#/components/schemas/model.VersionStatus"}}},"model.Kind":{"type":"string","enum":["Configuration","Agent","AgentType","AgentVersion","Source","Processor","Connector","Destination","Extension","SourceType","ProcessorType","ConnectorType","DestinationType","ExtensionType","RecommendationType","Unknown","Rollout","RolloutType","Organization","Account","Invitation","Login","User","AccountOrganizationBinding","UserOrganizationBinding","UserAccountBinding","AuditTrail","AvailableComponents","SecretsManagerType","SecretsManager","Recording","Credential","CredentialType","Fleet","Integration","IntegrationType","ConfigurationType","Notification","Recommendation","PublicProcessor","Blueprint","PrometheusRule","APIKey","ResourcePreset"]},"model.Metadata":{"type":"object","properties":{"additionalInfo":{"$ref":"#/components/schemas/model.AdditionalInfo"},"blueprintTags":{"description":"BlueprintTags holds categorized tags for blueprints (e.g., use-case, destination).\nUnlike Labels, this supports multiple values per category.","allOf":[{"$ref":"#/components/schemas/model.BlueprintTags"}]},"dateModified":{"type":"string"},"deprecated":{"description":"Deprecated indicates that this resource is deprecated and should not be used. Deprecated resources should contain\nadditional information about why the resource is deprecated and what should be used instead.\nNote: Ironically, the Deprecated field is itself deprecated. Use Stability instead.","type":"boolean"},"description":{"type":"string"},"displayName":{"type":"string"},"hash":{"description":"Hash is a hex formatted sha256 Hash of the json-encoded spec that is used to determine if the spec has changed.","type":"string"},"icon":{"type":"string"},"id":{"type":"string"},"labels":{"$ref":"#/components/schemas/model.Labels"},"name":{"type":"string"},"resourceDocLink":{"type":"string"},"stability":{"description":"Stability is the stability of the resource, one of development, alpha, beta, stable, or\ndeprecated. This should be used instead of the Deprecated field.","allOf":[{"$ref":"#/components/schemas/model.Stability"}]},"version":{"description":"Version is a 1-based integer that is incremented each time the spec is changed.","type":"integer"},"warning":{"description":"Warning is an optional message that is displayed to the user when the resource is configured. Currently used for IntegrationTypes.","type":"string"}}},"model.AdditionalInfo":{"type":"object","properties":{"documentation":{"type":"array","items":{"$ref":"#/components/schemas/model.DocumentationLink"}},"message":{"type":"string"}}},"model.DocumentationLink":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}},"model.BlueprintTags":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"model.Labels":{"type":"object"},"model.Stability":{"type":"string","enum":["development","alpha","beta","stable","deprecated",""]},"model.ParameterizedSpec":{"type":"object","properties":{"disabled":{"type":"boolean"},"licenseEnabled":{"description":"LicenseEnabled is a flag to indicate if the resource is licensed.","type":"boolean"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/model.Parameter"}},"presetTarget":{"description":"PresetTarget identifies the resource type that this resource preset applies to.","allOf":[{"$ref":"#/components/schemas/model.ResourcePresetTarget"}]},"processors":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceConfiguration"}},"public":{"type":"boolean"},"recommendation":{"description":"If this resource (currently only processors) was added to a configuration based on a recommendation, this field\nis set to the name of that recommendation type.","type":"string"},"telemetryExample":{"description":"TelemetryExample is an optional before/after example showing the transformation\na blueprint applies to telemetry data.","allOf":[{"$ref":"#/components/schemas/model.TelemetryExample"}]},"type":{"type":"string"},"version":{"type":"string"}}},"model.Parameter":{"type":"object","properties":{"credential":{"description":"Credential indicates if this parameter's value should be treated as a credential reference","type":"boolean"},"name":{"description":"Name is the name of the parameter","type":"string"},"sensitive":{"description":"Sensitive will be true if the value is sensitive and should be masked when printed.","type":"boolean"},"value":{"description":"Value could be any of the following: string, bool, int, enum (string), float, []string, map"}}},"model.ResourcePresetTarget":{"type":"object","properties":{"type":{"description":"Type is the resource type that this resource preset applies to.","type":"string"},"versionConstraint":{"description":"VersionConstraint is the constraint that allows this resource preset to only apply to specific versions.","type":"string"}}},"model.ResourceConfiguration":{"type":"object","properties":{"description":{"description":"Description is the description of the resource","type":"string"},"disabled":{"type":"boolean"},"displayName":{"description":"DisplayName is a friendly name of the resource that will be displayed in the UI","type":"string"},"id":{"description":"ID will be generated and is used to uniquely identify the resource","type":"string"},"licenseEnabled":{"description":"LicenseEnabled is a flag to indicate if the resource is licensed.","type":"boolean"},"name":{"description":"Name must be specified if this is a reference to another resource by name","type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/model.Parameter"}},"presetTarget":{"description":"PresetTarget identifies the resource type that this resource preset applies to.","allOf":[{"$ref":"#/components/schemas/model.ResourcePresetTarget"}]},"processors":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceConfiguration"}},"public":{"type":"boolean"},"recommendation":{"description":"If this resource (currently only processors) was added to a configuration based on a recommendation, this field\nis set to the name of that recommendation type.","type":"string"},"routes":{"description":"Routes connect resources in a configuration","allOf":[{"$ref":"#/components/schemas/model.Routes"}]},"secOpsPipelineName":{"description":"SecOpsPipelineName is the name of the pipeline that this resource is associated with. This is used for the SecOps integration.","type":"string"},"telemetryExample":{"description":"TelemetryExample is an optional before/after example showing the transformation\na blueprint applies to telemetry data.","allOf":[{"$ref":"#/components/schemas/model.TelemetryExample"}]},"type":{"type":"string"},"version":{"type":"string"}}},"model.Routes":{"type":"object","properties":{"logs":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+metrics":{"description":"pairs (alphabetical order)","type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+metrics+traces":{"description":"all three (alphabetical order)","type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"logs+traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"metrics+traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}},"traces":{"type":"array","items":{"$ref":"#/components/schemas/model.Route"}}}},"model.Route":{"type":"object","properties":{"components":{"description":"Components is a list of component paths that identify a unique component in the configuration.","type":"array","items":{"type":"string"}},"id":{"description":"ID identifies this route in the routing table. It is used by the routing connector to\ncorrelate between conditions and the components connected to that condition. It is\noptional. If specified, it must be unique within the list of routes.","type":"string"}}},"model.TelemetryExample":{"type":"object","properties":{"after":{"description":"After is the structured telemetry after processing","allOf":[{"$ref":"#/components/schemas/model.TelemetryExampleEntry"}]},"before":{"description":"Before is the structured telemetry before processing","allOf":[{"$ref":"#/components/schemas/model.TelemetryExampleEntry"}]},"telemetryType":{"description":"TelemetryType indicates the kind of telemetry (e.g., \"log\", \"metric\", \"trace\")","type":"string"}}},"model.TelemetryExampleEntry":{"type":"object","properties":{"attributes":{"type":"object","additionalProperties":{}},"body":{},"observedTimestamp":{"type":"string"},"resource":{"type":"object","additionalProperties":{}},"severityNumber":{"type":"integer"},"severityText":{"type":"string"},"timestamp":{"type":"string"}}},"model.VersionStatus":{"type":"object","properties":{"latest":{"type":"boolean"}}},"model.ErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```

## DELETE /extensions/{name}

> Delete extension by name

```json
{"openapi":"3.1.1","info":{"title":"","version":"0.0.1"},"servers":[{"url":"/v1"}],"paths":{"/extensions/{name}":{"delete":{"tags":["extensions"],"summary":"Delete extension by name","parameters":[{"schema":{"type":"string"},"description":"the name of the extension to delete","name":"name","in":"path","required":true}],"responses":{"204":{"description":"Successful Delete, no content"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}}}}}},"components":{"schemas":{"model.ErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```
