# Configuration Types

## GET /configuration-types

> List configuration types

```json
{"openapi":"3.1.1","info":{"title":"","version":"0.0.1"},"servers":[{"url":"/v1"}],"paths":{"/configuration-types":{"get":{"tags":["configuration-types"],"summary":"List configuration types","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ConfigurationTypesResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ErrorResponse"}}}}}}}},"components":{"schemas":{"model.ConfigurationTypesResponse":{"type":"object","properties":{"configurationTypes":{"type":"array","items":{"$ref":"#/components/schemas/model.ConfigurationType"}}}},"model.ConfigurationType":{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"allOf":[{"$ref":"#/components/schemas/model.Kind"}]},"metadata":{"$ref":"#/components/schemas/model.Metadata"},"spec":{"$ref":"#/components/schemas/model.ResourceTypeSpec"},"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.ResourceTypeSpec":{"type":"object","properties":{"featureGate":{"description":"FeatureGate is a string that is used to gate the availability of this resource type.","type":"string"},"logs":{"description":"individual","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+metrics":{"description":"pairs (alphabetical order)","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+metrics+traces":{"description":"all three (alphabetical order)","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"metrics":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"metrics+traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"parameters":{"description":"Parameters currently uses the model from stanza. Eventually we will probably create a separate definition for\nBindplane.","type":"array","items":{"$ref":"#/components/schemas/model.ParameterDefinition"}},"supportedLicenseTypes":{"description":"SupportedLicenseTypes is a list of license types that are supported by this resource type. Currently only used for IntegrationTypes.","type":"array","items":{"type":"string"}},"supportedPlatforms":{"description":"SupportedPlatforms is a list of platforms that are supported by this resource type.","type":"array","items":{"type":"string"}},"traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"version":{"type":"string"}}},"model.ResourceTypeOutputOptions":{"type":"object","properties":{"connectors":{"type":"string"},"emits":{"description":"Emits can be used to indicate that a connector emits different kinds of telemetry\nthat it consumes. If empty, it is assumed that the connector emits the same kind of\ntelemetry that it consumes.","type":"array","items":{"$ref":"#/components/schemas/otel.PipelineType"}},"exporters":{"type":"string"},"extensions":{"type":"string"},"processors":{"type":"string"},"receivers":{"description":"These fields are duplicated between here and ResourceTypeOutputTemplate because mapstructure:squash is unmarshal-only","type":"string"},"templates":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplate"}}}},"otel.PipelineType":{"type":"string","enum":["metrics","logs","traces"]},"model.ResourceTypeOutputTemplate":{"type":"object","properties":{"connectors":{"type":"string"},"deprecated":{"description":"Deprecations marks component versions where this template becomes deprecated\nExample: To mark pluginreceiver >= v1.84.0 as deprecated:\n  deprecated:\n    - component: \"github.com/.../receiver/pluginreceiver\"\n      operator: \">=\"\n      version: \"1.84.0\"","type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirement"}},"exporters":{"type":"string"},"extensions":{"type":"string"},"match":{"description":"Requirements mark component versions where this template matches\nExample: To mark pluginreceiver >= v1.84.0 as matching:\n  match:\n    - component: \"github.com/.../receiver/pluginreceiver\"\n      operator: \">=\"\n      version: \"1.84.0\"","type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirement"}},"processors":{"type":"string"},"receivers":{"description":"These fields are duplicated between here and ResourceTypeOutputOptions because mapstructure:squash is unmarshal-only","type":"string"}}},"model.ResourceTypeOutputTemplateComponentRequirement":{"type":"object","properties":{"component":{"type":"string"},"operator":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirementOperator"},"version":{"type":"string"}}},"model.ResourceTypeOutputTemplateComponentRequirementOperator":{"type":"string","enum":[">=",">"]},"model.ParameterDefinition":{"type":"object","properties":{"advancedConfig":{"type":"boolean"},"default":{"description":"Must be valid according to Type & ValidValues"},"description":{"type":"string"},"documentation":{"type":"array","items":{"$ref":"#/components/schemas/model.DocumentationLink"}},"hidden":{"type":"boolean"},"label":{"type":"string"},"name":{"type":"string"},"options":{"$ref":"#/components/schemas/model.ParameterOptions"},"properties":{"description":"Properties are parameter specific properties that are not part of the standard\nparameter definition. They are similar to Options, but more flexible because they do\nnot need to be defined for all parameter types.","type":"object","additionalProperties":{}},"relevantIf":{"type":"array","items":{"$ref":"#/components/schemas/model.RelevantIfCondition"}},"required":{"type":"boolean"},"type":{"description":"\"string\", \"int\", \"bool\", \"strings\", \"enum\", or \"extension\"","type":"string"},"validValues":{"description":"only useable if Type == \"enum\"","type":"array","items":{"type":"string"}}}},"model.ParameterOptions":{"type":"object","properties":{"code":{"description":"Code indicates that the parameter should be rendered in a code block.","type":"boolean"},"creatable":{"description":"Creatable will modify the \"enum\" parameter from a select to\na creatable select where a user can specify a custom value","type":"boolean"},"gridColumns":{"description":"GridColumns will specify the number of flex-grid columns the\ncontrol will take up, must be an integer between 1 and 12 or\nunspecified.","type":"integer"},"horizontalDivider":{"description":"HorizontalDivider will add a horizontal divider after the parameter at full\nwidth of the form.","type":"boolean"},"labels":{"description":"Labels indicate labels that can be used when rendering the parameter. This was added for the \"map\" parameter type\nto make the \"key\" and \"value\" labels configurable.","type":"object","additionalProperties":{"type":"string"}},"metricCategories":{"type":"array","items":{"$ref":"#/components/schemas/model.MetricCategory"}},"multiline":{"description":"Multiline indicates that a multiline textarea should be used for editing a \"string\" parameter.","type":"boolean"},"ottlContext":{"description":"OttlContext indicates which field to use when auto-populating an ottlField parameter.","type":"string"},"ottlContextRef":{"description":"OttlContextRef indicates the name of another parameter whose value determines the OTTL context.\nThis allows a parameter to dynamically resolve its context based on a sibling parameter's value.","type":"string"},"password":{"description":"Password indicates the string field is for a password and will be hidden by the UI.\nOnly applies to string parameters.\nDeprecated, use Sensitive instead.","type":"boolean"},"preventEmpty":{"description":"PreventEmpty indicates that empty values should not be allowed in the parameter.","type":"boolean"},"processorContext":{"description":"ProcessorContext indicates which processor is used to handle the parameter.","type":"string"},"saasOnly":{"description":"SaasOnly indicates that the parameter is only to be shown in a SaaS environment.","type":"boolean"},"sectionHeader":{"description":"SectionHeader is used to indicate that the bool parameter input is\na switch for further configuration for UI styling.","type":"boolean"},"sensitive":{"description":"Sensitive indicates that the field is sensitive and will be masked with (sensitive) in the response.","type":"boolean"},"sensitiveCompanion":{"description":"SensitiveCompanion is the name of a companion parameter that stores sensitive values.\nUsed for map parameters where individual values can be marked as sensitive.","type":"string"},"subHeader":{"description":"SubHeader will place a subheader above the parameter.","type":"string"},"trackUnchecked":{"description":"TrackUnchecked will modify the \"enums\" parameter to store the\nunchecked values as the value.","type":"boolean"},"variant":{"description":"Variant indicates the variant of the input for parameters that support multiple input\ntypes or styles.\n\"condition\" parameter:  input can be \"expanded\" or \"collapsed\".\n\"telemetrySelector\" parameter: input can be \"exclusive\", meaning only one value can be selected.","type":"string"}}},"model.MetricCategory":{"type":"object","properties":{"column":{"description":"0 or 1","type":"integer"},"label":{"type":"string"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/model.MetricOption"}}}},"model.MetricOption":{"type":"object","properties":{"defaultDisabled":{"type":"boolean"},"description":{"type":"string"},"kpi":{"type":"boolean"},"name":{"type":"string"}}},"model.RelevantIfCondition":{"type":"object","properties":{"name":{"type":"string"},"operator":{"type":"string"},"value":{}}},"model.VersionStatus":{"type":"object","properties":{"latest":{"type":"boolean"}}},"model.ErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```

## GET /configuration-types/{name}

> Get configuration type by name

```json
{"openapi":"3.1.1","info":{"title":"","version":"0.0.1"},"servers":[{"url":"/v1"}],"paths":{"/configuration-types/{name}":{"get":{"tags":["configuration-types"],"summary":"Get configuration type by name","parameters":[{"schema":{"type":"string"},"description":"the name of the configuration type","name":"name","in":"path","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model.ConfigurationTypeResponse"}}}},"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"}}}}}}}},"components":{"schemas":{"model.ConfigurationTypeResponse":{"type":"object","properties":{"configurationType":{"$ref":"#/components/schemas/model.ConfigurationType"}}},"model.ConfigurationType":{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"allOf":[{"$ref":"#/components/schemas/model.Kind"}]},"metadata":{"$ref":"#/components/schemas/model.Metadata"},"spec":{"$ref":"#/components/schemas/model.ResourceTypeSpec"},"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.ResourceTypeSpec":{"type":"object","properties":{"featureGate":{"description":"FeatureGate is a string that is used to gate the availability of this resource type.","type":"string"},"logs":{"description":"individual","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+metrics":{"description":"pairs (alphabetical order)","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+metrics+traces":{"description":"all three (alphabetical order)","allOf":[{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"}]},"logs+traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"metrics":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"metrics+traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"parameters":{"description":"Parameters currently uses the model from stanza. Eventually we will probably create a separate definition for\nBindplane.","type":"array","items":{"$ref":"#/components/schemas/model.ParameterDefinition"}},"supportedLicenseTypes":{"description":"SupportedLicenseTypes is a list of license types that are supported by this resource type. Currently only used for IntegrationTypes.","type":"array","items":{"type":"string"}},"supportedPlatforms":{"description":"SupportedPlatforms is a list of platforms that are supported by this resource type.","type":"array","items":{"type":"string"}},"traces":{"$ref":"#/components/schemas/model.ResourceTypeOutputOptions"},"version":{"type":"string"}}},"model.ResourceTypeOutputOptions":{"type":"object","properties":{"connectors":{"type":"string"},"emits":{"description":"Emits can be used to indicate that a connector emits different kinds of telemetry\nthat it consumes. If empty, it is assumed that the connector emits the same kind of\ntelemetry that it consumes.","type":"array","items":{"$ref":"#/components/schemas/otel.PipelineType"}},"exporters":{"type":"string"},"extensions":{"type":"string"},"processors":{"type":"string"},"receivers":{"description":"These fields are duplicated between here and ResourceTypeOutputTemplate because mapstructure:squash is unmarshal-only","type":"string"},"templates":{"type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplate"}}}},"otel.PipelineType":{"type":"string","enum":["metrics","logs","traces"]},"model.ResourceTypeOutputTemplate":{"type":"object","properties":{"connectors":{"type":"string"},"deprecated":{"description":"Deprecations marks component versions where this template becomes deprecated\nExample: To mark pluginreceiver >= v1.84.0 as deprecated:\n  deprecated:\n    - component: \"github.com/.../receiver/pluginreceiver\"\n      operator: \">=\"\n      version: \"1.84.0\"","type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirement"}},"exporters":{"type":"string"},"extensions":{"type":"string"},"match":{"description":"Requirements mark component versions where this template matches\nExample: To mark pluginreceiver >= v1.84.0 as matching:\n  match:\n    - component: \"github.com/.../receiver/pluginreceiver\"\n      operator: \">=\"\n      version: \"1.84.0\"","type":"array","items":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirement"}},"processors":{"type":"string"},"receivers":{"description":"These fields are duplicated between here and ResourceTypeOutputOptions because mapstructure:squash is unmarshal-only","type":"string"}}},"model.ResourceTypeOutputTemplateComponentRequirement":{"type":"object","properties":{"component":{"type":"string"},"operator":{"$ref":"#/components/schemas/model.ResourceTypeOutputTemplateComponentRequirementOperator"},"version":{"type":"string"}}},"model.ResourceTypeOutputTemplateComponentRequirementOperator":{"type":"string","enum":[">=",">"]},"model.ParameterDefinition":{"type":"object","properties":{"advancedConfig":{"type":"boolean"},"default":{"description":"Must be valid according to Type & ValidValues"},"description":{"type":"string"},"documentation":{"type":"array","items":{"$ref":"#/components/schemas/model.DocumentationLink"}},"hidden":{"type":"boolean"},"label":{"type":"string"},"name":{"type":"string"},"options":{"$ref":"#/components/schemas/model.ParameterOptions"},"properties":{"description":"Properties are parameter specific properties that are not part of the standard\nparameter definition. They are similar to Options, but more flexible because they do\nnot need to be defined for all parameter types.","type":"object","additionalProperties":{}},"relevantIf":{"type":"array","items":{"$ref":"#/components/schemas/model.RelevantIfCondition"}},"required":{"type":"boolean"},"type":{"description":"\"string\", \"int\", \"bool\", \"strings\", \"enum\", or \"extension\"","type":"string"},"validValues":{"description":"only useable if Type == \"enum\"","type":"array","items":{"type":"string"}}}},"model.ParameterOptions":{"type":"object","properties":{"code":{"description":"Code indicates that the parameter should be rendered in a code block.","type":"boolean"},"creatable":{"description":"Creatable will modify the \"enum\" parameter from a select to\na creatable select where a user can specify a custom value","type":"boolean"},"gridColumns":{"description":"GridColumns will specify the number of flex-grid columns the\ncontrol will take up, must be an integer between 1 and 12 or\nunspecified.","type":"integer"},"horizontalDivider":{"description":"HorizontalDivider will add a horizontal divider after the parameter at full\nwidth of the form.","type":"boolean"},"labels":{"description":"Labels indicate labels that can be used when rendering the parameter. This was added for the \"map\" parameter type\nto make the \"key\" and \"value\" labels configurable.","type":"object","additionalProperties":{"type":"string"}},"metricCategories":{"type":"array","items":{"$ref":"#/components/schemas/model.MetricCategory"}},"multiline":{"description":"Multiline indicates that a multiline textarea should be used for editing a \"string\" parameter.","type":"boolean"},"ottlContext":{"description":"OttlContext indicates which field to use when auto-populating an ottlField parameter.","type":"string"},"ottlContextRef":{"description":"OttlContextRef indicates the name of another parameter whose value determines the OTTL context.\nThis allows a parameter to dynamically resolve its context based on a sibling parameter's value.","type":"string"},"password":{"description":"Password indicates the string field is for a password and will be hidden by the UI.\nOnly applies to string parameters.\nDeprecated, use Sensitive instead.","type":"boolean"},"preventEmpty":{"description":"PreventEmpty indicates that empty values should not be allowed in the parameter.","type":"boolean"},"processorContext":{"description":"ProcessorContext indicates which processor is used to handle the parameter.","type":"string"},"saasOnly":{"description":"SaasOnly indicates that the parameter is only to be shown in a SaaS environment.","type":"boolean"},"sectionHeader":{"description":"SectionHeader is used to indicate that the bool parameter input is\na switch for further configuration for UI styling.","type":"boolean"},"sensitive":{"description":"Sensitive indicates that the field is sensitive and will be masked with (sensitive) in the response.","type":"boolean"},"sensitiveCompanion":{"description":"SensitiveCompanion is the name of a companion parameter that stores sensitive values.\nUsed for map parameters where individual values can be marked as sensitive.","type":"string"},"subHeader":{"description":"SubHeader will place a subheader above the parameter.","type":"string"},"trackUnchecked":{"description":"TrackUnchecked will modify the \"enums\" parameter to store the\nunchecked values as the value.","type":"boolean"},"variant":{"description":"Variant indicates the variant of the input for parameters that support multiple input\ntypes or styles.\n\"condition\" parameter:  input can be \"expanded\" or \"collapsed\".\n\"telemetrySelector\" parameter: input can be \"exclusive\", meaning only one value can be selected.","type":"string"}}},"model.MetricCategory":{"type":"object","properties":{"column":{"description":"0 or 1","type":"integer"},"label":{"type":"string"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/model.MetricOption"}}}},"model.MetricOption":{"type":"object","properties":{"defaultDisabled":{"type":"boolean"},"description":{"type":"string"},"kpi":{"type":"boolean"},"name":{"type":"string"}}},"model.RelevantIfCondition":{"type":"object","properties":{"name":{"type":"string"},"operator":{"type":"string"},"value":{}}},"model.VersionStatus":{"type":"object","properties":{"latest":{"type":"boolean"}}},"model.ErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}
```
