openapi: 3.0.3 info: title: Calyptia Cloud API version: "1.0" description: HTTP API service of Calyptia Cloud contact: name: Calyptia email: hello@calyptia.com url: "https://cloud.calyptia.com" termsOfService: "https://calyptia.com/terms/" servers: - url: "https://cloud-api.calyptia.com" description: prod - url: "https://cloud-api-dev.calyptia.com" description: dev - url: "https://cloud-api-staging.calyptia.com" description: staging - url: "http://localhost:{port}" description: local variables: port: default: "5000" tags: - name: user - name: project - name: token - name: membership - name: invitation - name: agent - name: agent_config - name: core_instance - name: core_instance_file - name: core_instance_secret - name: aggregator - name: resource_profile - name: core_instance_check - name: ingest_check - name: pipeline - name: pipeline_config - name: pipeline_status - name: pipeline_file - name: pipeline_secret - name: pipeline_port - name: pipeline_check - name: pipeline_log - name: pipeline_cluster_objects - name: config_validator - name: config_validator_v2 - name: metric - name: environment - name: trace_session - name: trace_record - name: cluster_object - name: fleet - name: search - name: agent_error - name: aws_marketplace - name: cluster_object_regex - name: processing_rule - name: processing_rule_template - name: saml_mapping - name: audit_log components: securitySchemes: user: type: http scheme: bearer project: name: X-Project-Token type: apiKey in: header schemas: Created: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt Updated: type: object properties: updatedAt: type: string format: date-time required: [updatedAt] Deleted: type: object properties: deleted: type: boolean deletedAt: type: string format: date-time nullable: true default: null required: - deleted - deletedAt UpdatePipelineMetadata: type: object properties: key: type: string nullable: false description: metadata key to use value: type: object additionalProperties: true description: json object to use as value example: | {"value": "1"} UpdatePipelineClusterObjects: type: object properties: clusterObjectsIDs: type: array format: uuid items: type: string UpdateEnvironment: type: object properties: name: type: string nullable: true default: null CreateEnvironment: type: object properties: name: type: string Environment: type: object description: Environment model. properties: id: type: string format: uuid name: type: string description: DNS label format as of defined on RFC1123 example: development createdAt: type: string format: date-time updatedAt: type: string format: date-time PipelineMetadata: type: object additionalProperties: true User: type: object description: User model. properties: id: type: string format: uuid email: type: string format: email name: type: string example: user avatarURL: type: string nullable: true default: null format: uri createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - email - name - avatarURL - createdAt - updatedAt ClusterObjectKind: type: string description: Kind of the kubernetes object default: namespace enum: - namespace CheckStatus: type: string description: The status of a check. default: new enum: - new - failed - running - ok PipelineLogStatus: type: string description: | The status of a pipeline log, if NEW hasn't been updated from the cluster. If DONE, logs have been retrieved from the cluster. default: NEW enum: - NEW - DONE PipelinePortKind: type: string description: The kind/type of the service associated to this port. default: LoadBalancer enum: - LoadBalancer - ClusterIP - NodePort PipelinePortProtocol: type: string description: Valid protocol types defined for a pipelines. enum: - tcp - udp Project: type: object description: Project model. properties: id: type: string format: uuid name: type: string example: my-project membersCount: type: integer minimum: 1 agentsCount: type: integer minimum: 0 aggregatorsCount: type: integer maximum: 0 createdAt: type: string format: date-time membership: $ref: "#/components/schemas/Membership" required: - id - name - membersCount - agentsCount - aggregatorsCount - createdAt Token: type: object properties: id: type: string format: uuid token: type: string example: redacted name: type: string example: my-token permissions: type: array uniqueItems: true items: $ref: "#/components/schemas/Permission" createdAt: type: string format: date-time required: - id - token - name - permissions - createdAt description: Token model. Membership: type: object properties: id: type: string format: uuid userID: type: string format: uuid projectID: type: string format: uuid roles: type: array nullable: true default: null uniqueItems: true items: type: string enum: - creator - admin permissions: type: array uniqueItems: true items: $ref: "#/components/schemas/Permission" createdAt: type: string format: date-time user: $ref: "#/components/schemas/User" required: - id - userID - projectID - roles - permissions - createdAt description: Membership of a user in a project. UpdateMember: type: object properties: permissions: description: An empty list means it has all permissions. type: array uniqueItems: true items: $ref: "#/components/schemas/Permission" nullable: true Agent: type: object properties: id: type: string format: uuid fleetID: type: string format: uuid nullable: true default: null token: type: string example: redacted name: type: string example: my-agent format: hostname machineID: type: string type: type: string enum: - fluentbit - fluentd version: type: string example: v1.8.6 edition: type: string enum: - community - enterprise status: type: string enum: - healthy - unhealthy os: type: string enum: - unknown - linux - macos - windows - freebsd - netbsd - openbsd arch: type: string enum: - unknown - x86 - x86_64 - arm - arm64 flags: type: array nullable: true default: null uniqueItems: true items: type: string tags: type: array nullable: true default: null uniqueItems: true items: type: string rawConfig: type: string metadata: type: object nullable: true default: null firstMetricsAddedAt: type: string format: date-time nullable: true default: null lastMetricsAddedAt: type: string format: date-time nullable: true default: null metricsCount: type: integer minimum: 0 createdAt: type: string format: date-time updatedAt: type: string format: date-time environmentName: type: string default: default example: default required: - id - fleetID - token - name - machineID - type - version - edition - os - arch - flags - status - rawConfig - metadata - environmentName - firstMetricsAddedAt - lastMetricsAddedAt - metricsCount - createdAt - updatedAt description: Agent model. AgentConfig: type: object description: Agent configuration history entry. properties: id: type: string format: uuid rawConfig: type: string createdAt: type: string format: date-time required: - id - rawConfig - createdAt Fleet: type: object description: Group of agents sharing the same config. properties: id: type: string format: uuid projectID: type: string format: uuid name: type: string example: my-fleet minFluentBitVersion: type: string example: v1.0.0 rawConfig: type: string description: | The fleet fluent-bit configuration in the format defined by configFormat. configFormat: type: string enum: - ini - json - yaml tags: type: array items: type: string example: dev agentsCount: $ref: "#/components/schemas/FleetAgentsCount" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectID - name - minFluentBitVersion - rawConfig - configFormat - tags - agentsCount - createdAt - updatedAt FleetsStatus: type: object description: |- Show the numerical count of the status of all Agents within a Fleet or all Fleets within a Project. The status is one of: * Managed: the full total of agents managed by the fleet or all fleets in a project. * Healthy: total of all fully functioning fleet agents. * In Progress: total of all fleet agents that are pending an upgrade to their configuration. * Unhleathy: total of all fleet agents that either have a pending error or have not responded in predetermined length of time. properties: managed: type: integer description: total of all fleet agents. healthy: type: integer description: |- total of fleet agents that are deemed alive and fully up to date. inProgress: type: integer description: |- total of fleet agents that are pending a configuration update. unhealthy: type: integer description: |- total of all agents with a pending error or have not responded in a predetermined interval of time. FleetAgentsCount: type: object description: |- Both active and inactive can sum up to the total count of agents that the fleet has. `withErrors` is the count of particular agents that have some errors that have not been dismissed yet. properties: active: type: number format: int32 minimum: 0 inactive: type: number format: int32 minimum: 0 withErrors: type: number format: int32 minimum: 0 required: - active - inactive - withErrors CreateFleet: type: object properties: name: type: string maxLength: 32 example: my-fleet minFluentBitVersion: type: string description: semver example: v1.0.0 rawConfig: type: string description: | The fleet fluent-bit configuration in the format defined by configFormat. configFormat: type: string enum: - ini - json - yaml nullable: true tags: type: array items: type: string pattern: ^[a-z]+$ example: dev skipConfigValidation: type: boolean default: false required: - name - minFluentBitVersion - rawConfig - tags - skipConfigValidation CreatedFleet: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt UpdateFleet: type: object properties: name: type: string maxLength: 32 nullable: true default: null example: updated-fleet rawConfig: type: string description: | The fleet fluent-bit configuration in the format defined by configFormat. nullable: true default: null configFormat: type: string enum: - ini - json - yaml nullable: true default: null tags: type: array items: type: string pattern: ^[a-z]+$ example: updated nullable: true default: null skipConfigValidation: type: boolean default: false required: - skipConfigValidation UpdatedFleet: type: object properties: updatedAt: type: string format: date-time required: - updatedAt DeletedFleet: type: object properties: deleted: type: boolean deletedAt: type: string format: date-time nullable: true default: null required: - deleted - deletedAt FleetFile: type: object properties: contents: type: string format: byte createdAt: type: string format: date-time updatedAt: type: string format: date-time id: type: string format: uuid name: type: string CreateFleetFile: type: object properties: name: type: string contents: type: string format: byte required: - name - contents CreatedFleetFile: type: object description: Created fleet file response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt UpdateFleetFile: type: object properties: name: type: string contents: type: string format: byte AggregatorPingResponse: type: object description: Aggregator Ping Response model. properties: nextPing: type: string format: duration default: "30s" MetadataGCP: type: object description: | Metadata model for GCP metadata fields accepted by a Core Instance. See: https://cloud.google.com/compute/docs/metadata/default-metadata-values. properties: gcp.project_number: type: number gcp.project_id: type: string gcp.instance_id: type: number gcp.instance_image: type: string gcp.machine_type: type: string gcp.instance_name: type: string gcp.zone: type: string MetadataK8S: type: object description: | Metadata model for kubernetes metadata fields accepted by a Core Instance. See: https://github.com/kubernetes/website/blob/60390ff3c0ef0043a58568ad2e4c2b7634028074/content/en/examples/pods/inject/dapi-volume.yaml#L5 properties: k8s.namespace: type: string k8s.cluster_name: type: string k8s.zone: type: string k8s.cluster_version: type: string k8s.cluster_platform: type: string MetadataAWS: type: object description: | Metadata model for AWS metadata fields accepted by a Core Instance. See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html properties: aws.ami_id: type: string aws.account_id: type: string aws.hostname: type: string aws.vpc_id: type: string aws.private_ipv4: type: string aws.public_ipv4: type: string aws.ec2_instance_id: type: string aws.ec2_instance_type: type: string aws.az: type: string CoreInstanceMetadata: type: object description: Core Instance Metadata model. anyOf: - $ref: "#/components/schemas/MetadataAWS" - $ref: "#/components/schemas/MetadataGCP" - $ref: "#/components/schemas/MetadataK8S" Aggregator: type: object description: Aggregator model. (to be renamed as CoreInstance). properties: id: type: string format: uuid token: type: string example: redacted name: type: string format: hostname example: my-aggregator version: type: string example: v0.1.12 status: type: string description: | Running status of the aggregator instance in reference to the last ping. Refer to https://pkg.go.dev/github.com/calyptia/api@main/types#pkg-constants if looking up for the current timeout defaults. enum: - running - waiting - unreachable metadata: $ref: "#/components/schemas/CoreInstanceMetadata" pipelinesCount: type: integer minimum: 0 createdAt: type: string format: date-time updatedAt: type: string format: date-time tags: type: array nullable: true default: null uniqueItems: true items: type: string environmentName: type: string default: default example: default skipServiceCreation: type: boolean default: false required: - id - token - name - pipelinesCount - environmentName - skipServiceCreation - createdAt - updatedAt CoreInstance: $ref: "#/components/schemas/Aggregator" CoreInstances: type: object properties: items: type: array items: $ref: "#/components/schemas/CoreInstance" endCursor: type: string nullable: true count: type: number format: int32 required: - items - endCursor - count CoreInstanceFile: type: object properties: id: type: string format: uuid coreInstanceID: type: string format: uuid name: type: string example: myfile contents: type: string format: byte description: |- The contents of the file in base 64 format. If the file is encrypted, the contents will be the encrypted version of the file. encrypted: type: boolean default: false createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - coreInstanceID - name - contents - encrypted - createdAt - updatedAt CoreInstanceFiles: type: object properties: items: type: array items: $ref: "#/components/schemas/CoreInstanceFile" endCursor: type: string nullable: true count: type: number format: int32 required: - items - endCursor - count CreateCoreInstanceFile: type: object properties: name: type: string example: myfile contents: type: string format: byte description: The contents of the file to be created in base 64 format. encrypted: type: boolean default: false required: - name - contents - encrypted UpdateCoreInstanceFile: type: object properties: name: type: string nullable: true default: null example: myfile contents: type: string format: byte nullable: true default: null description: Optional contents of the file to be updated in base 64 format. encrypted: type: boolean nullable: true default: null CoreInstanceSecret: type: object properties: id: type: string format: uuid coreInstanceID: type: string format: uuid key: type: string example: mysecret value: type: string format: byte description: |- The value of the secret in base 64 format. The value is always encrypted. createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - coreInstanceID - key - value - createdAt - updatedAt CoreInstanceSecrets: type: object properties: items: type: array items: $ref: "#/components/schemas/CoreInstanceSecret" endCursor: type: string nullable: true count: type: number format: int32 required: - items - endCursor - count CreateCoreInstanceSecret: type: object properties: key: type: string example: mysecret value: type: string format: byte description: The value of the secret in base 64 format. required: - key - value - encrypted UpdateCoreInstanceSecret: type: object properties: key: type: string nullable: true default: null example: mysecret value: type: string format: byte nullable: true default: null description: Optional value of the secret in base 64 format. ResourceProfile: type: object description: Resource profile model. properties: id: type: string format: uuid name: type: string example: my-resource-profile storageMaxChunksUp: type: integer format: int32 storageSyncFull: type: boolean storageBacklogMemLimit: type: string example: 1Mi storageVolumeSize: type: string example: 2Mi storageMaxChunksPause: type: boolean cpuBufferWorkers: type: integer format: int32 cpuLimit: type: string example: 3Mi cpuRequest: type: string example: 4Mi memoryLimit: type: string example: 5Mi memoryRequest: type: string example: 6Mi createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - storageMaxChunksUp - storageSyncFull - storageBacklogMemLimit - storageVolumeSize - storageMaxChunksPause - cpuBufferWorkers - cpuLimit - cpuRequest - memoryLimit - memoryRequest - createdAt - updatedAt Pipeline: type: object description: Pipeline model. properties: id: type: string format: uuid name: type: string description: DNS label format as of defined on RFC1123 example: my-pipeline kind: type: string description: Kind of deployment used when deploying this pipeline default: deployment enum: - daemonSet - deployment deploymentStrategy: type: string description: | The deployment strategy to use when creating or updating changes to this pipeline. default: recreate enum: - recreate - hotReload config: $ref: "#/components/schemas/PipelineConfig" configSections: type: array items: $ref: "#/components/schemas/ConfigSection" status: $ref: "#/components/schemas/PipelineStatus" resourceProfile: $ref: "#/components/schemas/ResourceProfile" image: type: string example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 nullable: true default: null replicasCount: type: integer minimum: 0 replicasCountPrev: type: integer description: the previous replica set counter minimum: 0 checksTotal: type: integer minimum: 0 description: total number of checks associated with the pipeline. checksOK: type: integer minimum: 0 description: total number of checks with ok status. checksRunning: type: integer minimum: 0 description: total number of checks with running status. tags: type: array nullable: true default: null uniqueItems: true items: type: string metadata: type: object nullable: true default: null additionalProperties: true secrets: type: array nullable: true default: null items: $ref: "#/components/schemas/PipelineSecret" files: type: array nullable: true default: null items: $ref: "#/components/schemas/PipelineFile" ports: type: array nullable: true default: null items: $ref: "#/components/schemas/PipelinePort" minReplicas: type: integer description: minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. scaleUpType: type: string description: HPAScalingPolicyType is the type of the policy which could be used while making scaling decisions. It can be "Pods" or "Percent" enum: - Pods - Percent scaleUpValue: type: integer description: value contains the amount of change which is permitted by the policy. scaleUpPeriodSeconds: type: integer description: ScaleUpPeriodSeconds specifies the window of time for which the policy should hold true. scaleDownType: type: string description: HPAScalingPolicyType is the type of the policy which could be used while making scaling decisions. It can be "Pods" or "Percent" enum: - Pods - Percent scaleDownValue: type: integer description: value contains the amount of change which is permitted by the policy. scaleDownPeriodSeconds: type: integer description: ScaleUpPeriodSeconds specifies the window of time for which the policy should hold true. utilizationCPUAverage: type: integer description: UtilizationCPUAverage defines the target value for average CPU utilization utilizationMemoryAverage: type: integer description: UtilizationMemoryAverage defines the target value for average CPU utilization portKind: $ref: "#/components/schemas/PipelinePortKind" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - config - configSections - status - resourceProfile - image - replicasCount - metadata - createdAt - updatedAt - minReplicas - scaleUpType - scaleUpValue - scaleUpPeriodSeconds - scaleDownType - scaleDownValue - scaleDownPeriodSeconds - utilizationCPUAverage - utilizationMemoryAverage PipelineKind: type: string default: deployment enum: [deployment, daemonSet] Pipelines: type: object properties: items: type: array items: $ref: "#/components/schemas/Pipeline" endCursor: type: string nullable: true count: type: number format: int32 required: - items - endCursor - count PipelineConfig: type: object description: Pipeline configuration history entry. properties: id: type: string format: uuid rawConfig: type: string configFormat: type: string enum: - ini - json - yaml createdAt: type: string format: date-time required: - id - rawConfig - configFormat - createdAt PipelineStatus: type: object description: Pipeline status history entry. properties: id: type: string format: uuid config: $ref: "#/components/schemas/AgentConfig" status: type: string enum: - NEW - FAILED - STARTING - STARTED - SCALING - CHECKS_OK - CHECKS_FAILED events: type: array items: $ref: "#/components/schemas/PipelineEvent" createdAt: type: string format: date-time required: - id - config - status - createdAt PipelineEvent: type: object description: Pipeline Status event. properties: source: type: string enum: - k8s:deployment - k8s:pod reason: type: string message: type: string loggedAt: type: string format: date-time required: - source - reason - loggedAt PipelineCheck: type: object description: Pipeline check model. properties: id: type: string format: uuid protocol: $ref: "#/components/schemas/PipelinePortProtocol" status: $ref: "#/components/schemas/CheckStatus" retries: type: number default: 3 description: number of retries for the check before marking it as failed port: type: number minimum: 0 maximum: 65535 description: valid 0-65535 port number host: type: string description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - protocol - status - retries - port - host - createdAt - updatedAt PipelineLog: type: object properties: id: type: string format: uuid pipelineID: type: string format: uuid logs: type: string lines: type: integer default: 100 status: $ref: "#/components/schemas/PipelineLogStatus" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - pipelineID - logs - lines - status - createdAt - updatedAt PipelineLogs: type: object properties: items: type: array items: $ref: "#/components/schemas/PipelineLog" endCursor: type: string nullable: true default: null count: type: number format: int32 minimum: 0 required: - items - endCursor - count CreatePipelineLog: type: object properties: logs: type: string lines: type: integer default: 100 required: ["logs"] UpdatePipelineLog: type: object properties: logs: type: string nullable: true default: null lines: type: integer nullable: true default: null status: type: string nullable: true default: null enum: - NEW - DONE CoreInstanceCheck: type: object description: Core instance(aggregator) check model. properties: id: type: string format: uuid protocol: $ref: "#/components/schemas/PipelinePortProtocol" status: $ref: "#/components/schemas/CheckStatus" retries: type: number default: 0 description: number of retries for the check before marking it as failed host: type: string description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost port: type: number minimum: 0 maximum: 65535 createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - protocol - status - retries - host - port - createdAt - updatedAt CreateClusterObject: type: object description: | Request body to create a new cluster object for a core instance. properties: name: type: string format: | kubernetes valid hostname or namespace name. https://kubernetes.io/docs/reference/labels-annotations-taints/ kind: $ref: "#/components/schemas/ClusterObjectKind" required: - name - kind UpdateClusterObject: type: object description: | Request body to update a cluster object. properties: name: type: string format: | kubernetes valid hostname or namespace name. https://kubernetes.io/docs/reference/labels-annotations-taints/ kind: $ref: "#/components/schemas/ClusterObjectKind" UpdatedClusterObject: type: object properties: updatedAt: type: string format: date-time required: [updatedAt] CreatedClusterObject: type: object description: Response body for for a newly created cluster object. properties: id: type: string format: uuid createdAt: type: string format: date-time required: [id, createdAt] ClusterObject: type: object description: A kubernetes cluster object that belongs to a given core instance. properties: id: type: string format: uuid name: type: string format: kubernetes label kind: $ref: "#/components/schemas/ClusterObjectKind" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - kind - createdAt - updatedAt ClusterObjectRegex: type: object properties: id: type: string format: uuid pipelineID: type: string format: uuid regex: type: string description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time clusterObjects: type: array items: $ref: "#/components/schemas/ClusterObject" nullable: true default: null description: Will only be present on the `clusterObjectRegex` operation. required: - id - pipelineID - regex - description - createdAt - updatedAt CreateClusterObjectRegex: type: object properties: regex: type: string minLength: 0 description: type: string maxLength: 100 required: - regex - description CreatedClusterObjectRegex: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt ClusterObjectRegexes: type: object properties: items: type: array items: $ref: "#/components/schemas/ClusterObjectRegex" endCursor: type: string nullable: true default: null required: - items - endCursor UpdateClusterObjectRegex: type: object properties: regex: type: string minLength: 0 nullable: true default: null description: type: string maxLength: 100 nullable: true default: null UpdatedClusterObjectRegex: type: object properties: updatedAt: type: string format: date-time required: [updatedAt] IngestCheck: type: object description: Core Ingest check model. properties: id: type: string format: uuid config: type: string format: fluent-bit configuration status: $ref: "#/components/schemas/CheckStatus" collectLogs: type: boolean default: false logs: type: string format: byte retries: type: number default: 0 description: number of retries for the check before marking it as failed createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - config - status - retries - createdAt - updatedAt PipelineFile: type: object description: Pipeline file model. properties: id: type: string format: uuid processingRuleID: type: string format: uuid nullable: true default: null name: type: string example: myfile contents: type: string format: byte encrypted: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - processingRuleID - name - contents - encrypted - createdAt - updatedAt PipelineSecret: type: object description: Pipeline secret model. properties: id: type: string format: uuid key: type: string example: mysecret value: type: string format: byte createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - key - value - createdAt - updatedAt PipelinePort: type: object description: Pipeline port model. properties: id: type: string format: uuid protocol: type: string example: tcp kind: $ref: "#/components/schemas/PipelinePortKind" frontendPort: type: integer format: int32 minimum: 0 backendPort: type: integer format: int32 minimum: 0 endpoint: type: string pluginID: type: string nullable: true default: null example: forward.0 pluginName: type: string nullable: true default: null example: forward pluginAlias: type: string nullable: true default: null example: myforwardinput createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - protocol - kind - frontendPort - backendPort - endpoint - pluginID - pluginName - pluginAlias - createdAt - updatedAt ProjectMetrics: type: object description: Project metrics model. properties: measurements: type: object additionalProperties: type: object properties: totals: type: object additionalProperties: type: number format: float nullable: true default: null plugins: type: object additionalProperties: $ref: "#/components/schemas/Metrics" required: - totals - plugins topPlugins: type: object additionalProperties: type: object additionalProperties: type: number format: float nullable: true default: null required: - measurements - topPlugins AgentMetrics: type: object description: Agent metrics model. properties: measurements: type: object additionalProperties: type: object properties: plugins: type: object additionalProperties: $ref: "#/components/schemas/Metrics" totals: type: object additionalProperties: type: array items: $ref: "#/components/schemas/MetricFields" required: - plugins - totals required: - measurements AggregatorMetrics: type: object description: Agent metrics model. properties: measurements: type: object additionalProperties: type: object properties: metrics: type: object additionalProperties: type: array items: $ref: "#/components/schemas/MetricFields" totals: type: object additionalProperties: type: array items: $ref: "#/components/schemas/MetricFields" required: - metrics - totals required: - measurements example: | { "measurements": { "fluentbit_filter": { "metrics": { "drop_records": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.003028413Z", "value": 119 } ], "emit_records": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.003028413Z", "value": 119 } ] }, "totals": { "drop_records": [ { "time": "2022-02-07T12:55:04.78743322Z", "value": 119 } ], "emit_records": [ { "time": "2022-02-07T12:55:04.787434277Z", "value": 119 } ] } }, "fluentbit_input": { "metrics": { "bytes": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.029124832Z", "value": 4760 } ], "records": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.029124832Z", "value": 119 } ] }, "totals": { "bytes": [ { "time": "2022-02-07T12:55:04.787450155Z", "value": 4760 } ], "records": [ { "time": "2022-02-07T12:55:04.787450155Z", "value": 119 } ] } }, "fluentbit_output": { "metrics": { "bytes": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.059227599Z", "value": 4560 } ], "records": [ { "time": "2022-02-07T11:00:00Z", "value": 0 }, { "time": "2022-02-07T12:00:00Z", "value": 0 }, { "time": "2022-02-07T12:55:20.059227599Z", "value": 114 } ] }, "totals": { "bytes": [ { "time": "2022-02-07T12:55:00.785234434Z", "value": 4560 } ], "records": [ { "time": "2022-02-07T12:55:00.785234434Z", "value": 114 } ] } } } } AggregatorPipelinesMetrics: type: object description: Map of metrics/error for each pipeline ID. additionalProperties: type: object properties: data: $ref: "#/components/schemas/AgentMetrics" error: type: string nullable: true default: null required: [data, error] Metrics: type: object description: Metrics model. properties: metrics: type: object additionalProperties: type: array items: $ref: "#/components/schemas/MetricFields" required: - metrics MetricFields: type: object description: Metric fields model. properties: time: type: string format: date-time value: type: number format: float nullable: true default: null required: - time - value CreateProject: description: Create project request body. type: object properties: name: type: string example: new-project required: - name UpdateProject: description: Update project request body. type: object properties: name: type: string example: new-project nullable: true default: null CreateToken: description: Create token request body. type: object properties: name: type: string example: new-token permissions: type: array items: $ref: "#/components/schemas/Permission" required: - name - permissions Permission: type: string enum: - "create:*" - "read:*" - "update:*" - "delete:*" UpdateToken: description: Update token request body. type: object properties: name: type: string example: new-token nullable: true default: null permissions: description: An empty list means it has all permissions. type: array uniqueItems: true items: $ref: "#/components/schemas/Permission" nullable: true CreateInvitation: description: Create invitation request body. type: object properties: email: type: string format: email permissions: description: An empty list means it has all permissions. type: array uniqueItems: true items: $ref: "#/components/schemas/Permission" redirectURI: type: string format: uri required: - email - permissions - redirectURI AcceptInvitation: description: Accept invitation request body. type: object properties: token: type: string example: redacted required: - token RegisterAgent: description: Register agent request body. type: object properties: fleetID: type: string format: uuid nullable: true default: null name: type: string example: new-agent format: hostname machineID: type: string type: type: string enum: - fluentbit - fluentd version: type: string example: v1.8.6 edition: type: string enum: - community - enterprise flags: type: array nullable: true default: null items: type: string rawConfig: type: string metadata: type: object nullable: true default: null environmentID: type: string nullable: true default: null description: environment ID to associate this agent with. required: - name - machineID - type - version - edition - flags - rawConfig UpdateAgent: description: Update agent request body. type: object properties: fleetID: type: string format: uuid nullable: true default: null name: type: string example: new-agent format: hostname nullable: true default: null version: type: string example: v1.8.6 nullable: true default: null edition: type: string enum: - community - enterprise nullable: true default: null flags: type: array nullable: true default: null items: type: string rawConfig: type: string nullable: true default: null metadata: type: object nullable: true default: null environmentID: type: string nullable: true default: null description: environment ID to associate this agent with. CreateAggregator: description: Create aggregator request body. type: object properties: name: type: string format: hostname example: new-aggregator image: type: string description: default core-fluent-bit image to use by the pipelines created on this core_instance. example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 nullable: true default: null version: type: string example: v0.1.12 addHealthCheckPipeline: type: boolean clusterLogging: type: boolean description: Enable cluster-logging functionality on this aggregator instance. healthCheckPipelinePort: type: integer format: int32 minimum: 0 healthCheckPipelinePortKind: $ref: "#/components/schemas/PipelinePortKind" metadata: type: object nullable: true default: null environmentID: type: string nullable: true default: null description: environment ID to associate this aggregator with. skipServiceCreation: type: boolean nullable: true default: null description: | If true, kubernetes service creation will be skipped for all pipelines that exists on this core_instance. required: - name - version - addHealthCheckPipeline - healthCheckPipelinePort - healthCheckPipelinePortKind UpdateAggregator: description: Update aggregator request body. type: object properties: name: type: string format: hostname example: new-aggregator nullable: true default: null image: type: string description: default core-fluent-bit image to use by the pipelines created on this core_instance. example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 nullable: true default: null clusterLogging: type: boolean description: enable or disable cluster-logging functionality. nullable: true default: null version: type: string example: v0.1.12 nullable: true default: null tags: type: array nullable: true default: null items: type: string metadata: $ref: "#/components/schemas/CoreInstanceMetadata" environmentID: type: string nullable: true default: null description: environment ID to associate this aggregator with. skipServiceCreation: type: boolean nullable: true default: null description: | If true, kubernetes service creation will be skipped for all pipelines that exists on this core_instance. CreateResourceProfile: description: Create resource profile request body. type: object properties: name: type: string example: my-resource-profile storageMaxChunksUp: type: integer format: int32 storageSyncFull: type: boolean storageBacklogMemLimit: type: string example: 1Mi storageVolumeSize: type: string example: 2Mi storageMaxChunksPause: type: boolean cpuBufferWorkers: type: integer format: int32 cpuLimit: type: string example: 3Mi cpuRequest: type: string example: 4Mi memoryLimit: type: string example: 5Mi memoryRequest: type: string example: 6Mi required: - name - storageMaxChunksUp - storageSyncFull - storageBacklogMemLimit - storageVolumeSize - storageMaxChunksPause - cpuBufferWorkers - cpuLimit - cpuRequest - memoryLimit - memoryRequest UpdateResourceProfile: description: Update resource profile request body. type: object properties: name: type: string example: my-resource-profile nullable: true default: null storageMaxChunksUp: type: integer format: int32 nullable: true default: null storageSyncFull: type: boolean nullable: true default: null storageBacklogMemLimit: type: string example: 1Mi nullable: true default: null storageVolumeSize: type: string example: 2Mi nullable: true default: null storageMaxChunksPause: type: boolean nullable: true default: null cpuBufferWorkers: type: integer format: int32 nullable: true default: null cpuLimit: type: string example: 3Mi nullable: true default: null cpuRequest: type: string example: 4Mi nullable: true default: null memoryLimit: type: string example: 5Mi nullable: true default: null memoryRequest: type: string example: 6Mi nullable: true default: null CreatePipeline: description: Create pipeline request body. type: object properties: name: type: string description: DNS label format as of defined on RFC1123 example: new-pipeline kind: type: string description: Kind of deployment used when deploying this pipeline default: deployment enum: - daemonSet - deployment replicasCount: type: integer minimum: 0 rawConfig: type: string configFormat: type: string enum: - ini - json - yaml image: type: string example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 nullable: true default: null secrets: type: array nullable: true default: null items: $ref: "#/components/schemas/CreatePipelineSecret" files: type: array nullable: true default: null items: $ref: "#/components/schemas/CreatePipelineFile" resourceProfile: type: string example: my-resource-profile noAutoCreateChecksFromConfig: type: boolean default: false description: | If true, no Pipeline checks will be auto-generated from the configuration. autoCreateChecksFromConfig: type: boolean deprecated: true default: false description: | If true, this will automatically create a set of Pipeline checks to validate that the configured output services are reachable. waitForChecksBeforeDeploying: type: boolean default: false description: | If set to true: If all checks associated with the pipeline run successfully, the status of the pipeline will be switched to CHECKS_OK and the deployment will be executed. If any of the checks associated with the pipeline fails, the status of the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline will be blocked. If set to false (default): If all checks associated with the pipeline run successfully, the status of the pipeline will be switched to CHECKS_OK and the deployment will be executed. If any of the checks associated with the pipeline fails, the status of the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline will be executed. noAutoCreateEndpointsFromConfig: type: boolean default: false description: if true, no ports will be automatically generated from the configuration. autoCreatePortsFromConfig: type: boolean default: false deprecated: true skipConfigValidation: type: boolean metadata: type: object nullable: true default: null additionalProperties: true portKind: $ref: "#/components/schemas/PipelinePortKind" minReplicas: type: integer default: 0 scaleUpType: $ref: "#/components/schemas/ScalePolicy" scaleUpValue: type: integer default: 0 scaleUpPeriodSeconds: type: integer default: 0 scaleDownType: $ref: "#/components/schemas/ScalePolicy" scaleDownValue: type: integer default: 0 scaleDownPeriodSeconds: type: integer default: 0 utilizationCPUAverage: type: integer default: 0 utilizationMemoryAverage: type: integer default: 0 required: - name - replicasCount - rawConfig - image - secrets - files - resourceProfile - skipConfigValidation - portKind - minReplicas - scaleUpType - scaleUpValue - scaleUpPeriodSeconds - scaleDownType - scaleDownValue - scaleDownPeriodSeconds - utilizationCPUAverage - utilizationMemoryAverage ScalePolicy: type: string enum: - Unknown - Pods - Percent default: "Unknown" UpdatePipeline: description: Update pipeline request body. type: object properties: name: type: string description: DNS label format as of defined on RFC1123 example: new-pipeline nullable: true default: null kind: type: string description: Kind of deployment used when deploying this pipeline default: deployment enum: - daemonSet - deployment deploymentStrategy: type: string description: | The deployment strategy to use when creating or updating changes to this pipeline. default: recreate enum: - recreate - hotReload replicasCount: type: integer minimum: 0 nullable: true default: null rawConfig: type: string nullable: true default: null configFormat: type: string enum: - ini - json - yaml nullable: true default: null image: type: string example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 nullable: true default: null secrets: type: array nullable: true default: null items: $ref: "#/components/schemas/UpdatePipelineSecret" files: type: array nullable: true default: null items: $ref: "#/components/schemas/UpdatePipelineFile" resourceProfile: type: string example: my-resource-profile nullable: true default: null noAutoCreateEndpointsFromConfig: type: boolean nullable: true default: null noAutoCreateChecksFromConfig: type: boolean nullable: true default: null autoCreatePortsFromConfig: type: boolean nullable: true default: null deprecated: true autoCreateChecksFromConfig: type: boolean nullable: true default: null deprecated: true skipConfigValidation: type: boolean default: false checksBeforeDeploying: type: boolean nullable: true default: null description: | If set to true: If all checks associated with the pipeline run successfully, the status of the pipeline will be switched to CHECKS_OK and the deployment will be executed. If any of the checks associated with the pipeline fails, the status of the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline will be blocked. If set to false (default): If all checks associated with the pipeline run successfully, the status of the pipeline will be switched to CHECKS_OK and the deployment will be executed. If any of the checks associated with the pipeline fails, the status of the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline status: type: string nullable: true default: null enum: - NEW - FAILED - STARTING - STARTED - SCALING - CHECKS_OK - CHECKS_FAILED - portKind: $ref: "#/components/schemas/PipelinePortKind" nullable: true default: null events: type: array nullable: true default: null items: $ref: "#/components/schemas/PipelineEvent" metadata: type: object nullable: true default: null additionalProperties: true minReplicas: type: integer nullable: true default: null scaleUpType: $ref: "#/components/schemas/ScalePolicy" nullable: true default: null scaleUpValue: type: integer nullable: true default: null scaleUpPeriodSeconds: type: integer nullable: true default: null scaleDownType: $ref: "#/components/schemas/ScalePolicy" nullable: true default: null scaleDownValue: type: integer nullable: true default: null scaleDownPeriodSeconds: type: integer nullable: true default: null utilizationCPUAverage: type: integer nullable: true default: null utilizationMemoryAverage: type: integer nullable: true default: null CreatePipelineCheck: description: Create pipeline check request body. type: object properties: protocol: $ref: "#/components/schemas/PipelinePortProtocol" status: $ref: "#/components/schemas/CheckStatus" retries: type: number default: 3 description: number of retries for the check before marking it as failed host: type: string description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost port: type: number minimum: 0 maximum: 65535 description: valid 0-65535 port number required: - protocol - host - port CreateCoreInstanceCheck: description: Create core instance (aggregator) check request body. type: object properties: protocol: $ref: "#/components/schemas/PipelinePortProtocol" status: $ref: "#/components/schemas/CheckStatus" retries: type: number default: 3 description: number of retries for the check before marking it as failed host: type: string description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost port: type: number description: valid 0-65535 port number required: - protocol - host - port CreateIngestCheck: description: Create core instance Ingest check request body. type: object properties: status: $ref: "#/components/schemas/CheckStatus" retries: type: number default: 3 description: number of retries for the check before marking it as failed configSectionID: type: string description: | config section UUID to be used on this Ingest check. Note that the ingest check config section's kind has to be of either type input or output. format: uuid collectLogs: type: boolean default: false description: | Determine if the logs for the fluent-bit pod should be forwarded to Calyptia. required: - status - retries - configSectionID CreatePipelineFile: description: Create pipeline file request body. type: object properties: name: type: string example: newfile contents: type: string format: byte encrypted: type: boolean required: - name - contents - encrypted UpdatePipelineFile: description: Update pipeline file request body. type: object properties: name: type: string example: newfile nullable: true default: null contents: type: string format: byte nullable: true default: null encrypted: type: boolean nullable: true default: null UpdatePipelineCheck: description: Update pipeline check request body. type: object properties: protocol: $ref: "#/components/schemas/PipelinePortProtocol" nullable: true default: null status: $ref: "#/components/schemas/CheckStatus" nullable: true default: null retries: type: number nullable: true default: null description: number of retries for the check before marking it as unreachable. host: type: string nullable: true default: null description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost port: type: number minimum: 0 maximum: 65535 nullable: true default: null description: valid 0-65535 port number UpdateCoreInstanceCheck: description: Update a core instance check request body. type: object properties: protocol: $ref: "#/components/schemas/PipelinePortProtocol" nullable: true default: null status: $ref: "#/components/schemas/CheckStatus" nullable: true default: null host: type: string nullable: true default: null description: DNS label format as of defined on RFC1123 or an IPv4 address. example: localhost port: type: number minimum: 0 maximum: 65535 nullable: true default: null description: valid 0-65535 port number retries: type: number nullable: true default: null description: number of retries for the check before marking it as unreachable. UpdateIngestCheck: description: Update a core instance Ingest check request body. type: object properties: logs: description: logs coming from the fluent-bit pod, maximum size is 10MiB. nullable: true default: null type: string status: $ref: "#/components/schemas/CheckStatus" nullable: true default: null CreatePipelineSecret: description: Create pipeline secret request body. type: object properties: key: type: string example: newsecret value: type: string format: byte required: - key - value UpdatePipelineSecret: description: Update pipeline secret request body. type: object properties: key: type: string example: newsecret nullable: true default: null value: type: string format: byte nullable: true default: null CreatePipelinePort: description: Create pipeline port request body. type: object properties: protocol: type: string example: tcp frontendPort: type: integer format: int32 minimum: 0 backendPort: type: integer format: int32 minimum: 0 endpoint: type: string kind: deprecated: true $ref: "#/components/schemas/PipelinePortKind" required: - protocol - frontendPort - backendPort - endpoint UpdatePipelinePort: description: Update pipeline port request body. type: object properties: protocol: type: string example: tcp nullable: true default: null frontendPort: type: integer format: int32 nullable: true default: null backendPort: type: integer format: int32 nullable: true default: null endpoint: type: string nullable: true default: null kind: deprecated: true type: string description: The kind/type of the service associated to this port. default: null nullable: true enum: - LoadBalancer - ClusterIP - NodePort ValidatingConfig: description: Validating configuration request body. type: object properties: config: type: array items: type: object properties: command: type: string name: type: string optional: type: object additionalProperties: type: string nullable: true default: null id: type: string required: - command - name - id required: - config CreatedProject: type: object description: Created project response body. properties: id: type: string token: type: string example: redacted createdAt: type: string format: date-time membership: $ref: "#/components/schemas/Membership" required: - id - token - createdAt - membership RegisteredAgent: type: object description: Registered agent response body. properties: id: type: string format: uuid token: type: string example: redacted name: type: string example: my-agent createdAt: type: string format: date-time environmentName: type: string description: environment name on which the agent belongs to. default: default required: - id - token - name - createdAt CreatedAggregator: type: object description: Created aggregator response body. properties: id: type: string format: uuid token: type: string example: redacted privateRSAKey: type: string format: byte publicRSAKey: type: string format: byte name: type: string format: hostname example: my-aggregator image: type: string description: default core-fluent-bit image to use by the pipelines created on this core_instance. example: ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2 default: "" version: type: string example: v0.1.12 createdAt: type: string format: date-time healthCheckPipeline: $ref: "#/components/schemas/Pipeline" clusterLoggingPipeline: $ref: "#/components/schemas/Pipeline" resourceProfiles: type: array items: $ref: "#/components/schemas/ResourceProfile" environmentName: type: string description: environment name on which the agent belongs to. default: default skipServiceCreation: type: boolean default: false required: - id - token - privateRSAKey - publicRSAKey - name - createdAt - resourceProfiles - environmentName - skipServiceCreation CreatedResourceProfile: type: object description: Created resource profile response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedPipeline: type: object description: Created pipeline response body. properties: id: type: string format: uuid name: type: string example: my-pipeline kind: type: string description: Kind of deployment used when deploying this pipeline default: deployment enum: - daemonSet - deployment config: $ref: "#/components/schemas/PipelineConfig" secrets: type: array items: $ref: "#/components/schemas/PipelineSecret" files: type: array items: $ref: "#/components/schemas/PipelineFile" status: $ref: "#/components/schemas/PipelineStatus" resourceProfile: $ref: "#/components/schemas/ResourceProfile" checks: type: array items: $ref: "#/components/schemas/PipelineCheck" replicasCount: type: integer minimum: 0 createdAt: type: string format: date-time UpdatedPipeline: type: object description: Updated pipeline response body. properties: addedPorts: type: array items: $ref: "#/components/schemas/PipelinePort" removedPorts: type: array items: $ref: "#/components/schemas/PipelinePort" addedChecks: type: array items: $ref: "#/components/schemas/PipelineCheck" removedChecks: type: array items: $ref: "#/components/schemas/PipelineCheck" CreatedPipelineFile: type: object description: Created pipeline file response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedPipelineCheck: type: object description: Created pipeline check response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedCoreInstanceCheck: type: object description: Created core instance (aggregator) check response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedIngestCheck: type: object description: Created core instance Ingest check response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedPipelineSecret: type: object description: Created pipeline secret response body. properties: id: type: string format: uuid createdAt: type: string format: date-time required: - id - createdAt CreatedPipelinePort: type: object description: Created pipeline port response body. properties: id: type: string format: uuid kind: type: string default: null nullable: true pluginID: type: string nullable: true default: null example: forward.0 pluginName: type: string nullable: true default: null example: forward pluginAlias: type: string nullable: true default: null example: myforwardinput createdAt: type: string format: date-time required: - id - pluginID - pluginName - pluginAlias - createdAt ValidatedConfig: type: object description: Validate config response body. properties: errors: type: object properties: runtime: type: array items: type: string input: type: object additionalProperties: type: array items: type: string output: type: object additionalProperties: type: array items: type: string filter: type: object additionalProperties: type: array items: type: string required: - runtime - input - output - filter required: - errors ConfigValidityV2Property: type: object description: Property of the validated configuration section properties: id: description: ID of the configuration section type: string property: description: property name type: string text: description: property name, value type: string nullable: true default: null errors: type: array items: type: string required: - id - property - text - errors ConfigValidityV2Runtime: type: object description: Runtime errors for the validated configuration. properties: errors: type: array items: type: string id: description: Id of the configuration section type: string required: - id - errors ValidatedConfigV2: type: object description: Validation V2 config response. properties: errors: type: object properties: runtime: type: array items: $ref: "#/components/schemas/ConfigValidityV2Runtime" input: type: object additionalProperties: type: array items: $ref: "#/components/schemas/ConfigValidityV2Property" output: type: object additionalProperties: type: array items: $ref: "#/components/schemas/ConfigValidityV2Property" filter: type: object additionalProperties: type: array items: $ref: "#/components/schemas/ConfigValidityV2Property" required: - runtime - input - output - filter required: - errors TraceSession: type: object description: | Trace session model. There can only be one active session at a moment on a pipeline. Either terminate it and create a new one, or update and extend the lifespan of the current active one. properties: id: type: string format: uuid pipelineID: type: string format: uuid plugins: description: List of Fluent-bit plugin IDs ar aliases to trace. type: array items: type: string example: "dummy.0" lifespan: description: For how long will this session be active and process records. type: string format: duration example: "10m" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - pipelineID - plugins - lifespan - createdAt - updatedAt CreateTraceSession: type: object description: | Request body to create a new trace session on a pipeline. properties: plugins: description: List of Fluent-bit plugin IDs ar aliases to trace. type: array items: type: string example: "dummy.0" lifespan: description: For how long will this session be active and process records. type: string format: duration example: "10m" required: - plugins - lifespan CreatedTraceSession: type: object description: Response body for a newly created trace session. properties: id: type: string format: uuid createdAt: type: string format: date-time required: [id, createdAt] UpdateTraceSession: type: object description: | Request body to update an active trace session on a pipeline. properties: plugins: description: List of Fluent-bit plugin IDs ar aliases to trace. type: array items: type: string example: "dummy.0" nullable: true default: null lifespan: description: For how long will this session be active and process records. type: string format: duration example: "10m" nullable: true default: null UpdatedTraceSession: type: object description: Response body for an updated trace session. properties: updatedAt: type: string format: date-time required: [updatedAt] TraceRecord: type: object description: | Trace record model. Trace Records comming from fluent-bit once trace is enabled. It contains trace records for all the fluen-bit plugins configured on the trace session. properties: id: type: string format: uuid sessionID: type: string format: uuid type: $ref: "#/components/schemas/TraceRecordKind" trace_id: type: string example: trace.5 start_time: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 end_time: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 plugin_instance: type: string example: nest.2 plugin_alias: type: string example: nest_2 return_code: type: integer records: type: array items: type: object properties: timestamp: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 record: type: object additionalProperties: true example: |- { "dummy": "dummy_0", "powered_by": "calyptia", "data": { "key_name": "foo", "key_cnt": "1" } } additionalProperties: true required: - timestamp - record createdAt: type: string format: date-time required: - id - sessionID - type - trace_id - start_time - end_time - plugin_instance - plugin_alias - return_code - records - createdAt TraceRecordKind: type: integer enum: [1, 2, 3, 4] # Custom enum names supported by openapi-typescript-codegen. # See https://github.com/ferdikoomen/openapi-typescript-codegen/blob/master/docs/custom-enums.md x-enum-varnames: [INPUT, FILTER, PRE_OUTPUT, OUTPUT] CreateTraceRecord: type: object description: | Request body to create a trace record on an active session. properties: type: $ref: "#/components/schemas/TraceRecordKind" trace_id: type: string example: trace.5 start_time: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 end_time: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 plugin_instance: type: string example: nest.2 plugin_alias: type: string example: nest_2 return_code: type: integer records: type: array items: type: object properties: timestamp: description: Unix timestamp with seconds precision. type: integer format: int64 example: 1658953439 record: type: object additionalProperties: true example: |- { "dummy": "dummy_0", "powered_by": "calyptia", "data": { "key_name": "foo", "key_cnt": "1" } } additionalProperties: true required: - timestamp - record required: - type - trace_id - start_time - end_time - plugin_instance - plugin_alias - return_code - records CreatedTraceRecord: type: object description: Response body when a trace record is created. properties: id: type: string format: uuid sessionID: type: string format: uuid createdAt: type: string format: date-time required: - id - sessionID - createdAt TerminatedTraceSession: type: object description: Response body when a trace session is terminated. properties: id: type: string format: uuid lifespan: type: string format: duration example: "10m" updatedAt: type: string format: date-time required: - id - lifespan - updatedAt ConfigSection: type: object properties: id: type: string format: uuid projectID: type: string format: uuid processingRuleID: type: string format: uuid nullable: true default: null kind: $ref: "#/components/schemas/ConfigSectionKind" properties: $ref: "#/components/schemas/Pairs" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectID - processingRuleID - kind - properties - createdAt - updatedAt ConfigSectionKind: type: string enum: - input - filter - output - service Pairs: type: array items: $ref: "#/components/schemas/Pair" Pair: type: object properties: key: type: string example: name value: anyOf: - type: integer - type: number - type: boolean - type: string - type: array items: type: string example: dummy required: [key, value] CreateConfigSection: type: object properties: kind: $ref: "#/components/schemas/ConfigSectionKind" properties: $ref: "#/components/schemas/Pairs" skipConfigValidation: type: boolean default: false required: [kind, properties, skipConfigValidation] CreatedConfigSection: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time required: [id, createdAt] UpdateConfigSection: type: object properties: properties: $ref: "#/components/schemas/Pairs" nullable: true default: null skipConfigValidation: type: boolean default: false UpdatedConfigSection: type: object properties: updatedAt: type: string format: date-time required: [updatedAt] ProcessingRuleV1: deprecated: true type: object properties: id: type: string format: uuid pipelineID: type: string format: uuid configSectionID: type: string format: uuid fileID: type: string format: uuid match: type: string example: "*" isMatchRegexp: type: boolean default: false language: $ref: "#/components/schemas/ProcessingRuleLanguageV1" actions: type: array items: $ref: "#/components/schemas/RuleActionV1" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - pipelineID - configSectionID - fileID - match - isMatchRegexp - language - actions - createdAt - updatedAt ProcessingRuleLanguageV1: deprecated: true type: string enum: [lua] RuleActionV1: deprecated: true type: object properties: kind: $ref: "#/components/schemas/RuleActionKindV1" description: type: string example: Sample action enabled: type: boolean default: false example: true selectors: type: array items: $ref: "#/components/schemas/LogSelectorV1" add: $ref: "#/components/schemas/LogAttr" nullable: true default: null description: Only required when kind is "add". renameTo: type: string nullable: true default: null example: renamed description: Only required when kind is "rename". copyAs: type: string nullable: true default: null example: copied description: Only required when kind is "copy". maskWith: type: string nullable: true default: null example: masked description: Only required when kind is "mask". required: - kind - description - enabled - selectors RuleActionKindV1: deprecated: true type: string enum: - add - rename - copy - mask - remove - skip LogSelectorV1: deprecated: true type: object properties: kind: $ref: "#/components/schemas/LogSelectorKindV1" op: $ref: "#/components/schemas/LogSelectorOpKindV1" expr: type: string example: some_key required: - kind - op - expr LogSelectorKindV1: deprecated: true type: string enum: [key] LogSelectorOpKindV1: deprecated: true type: string enum: [equal] LogAttr: type: object properties: key: type: string example: some_key value: description: Any value. example: some_value required: - key - value CreateProcessingRuleV1: deprecated: true type: object properties: match: type: string example: "*" isMatchRegexp: type: boolean default: false language: $ref: "#/components/schemas/ProcessingRuleLanguageV1" actions: type: array items: $ref: "#/components/schemas/RuleActionV1" required: - match - isMatchRegexp - language - actions CreatedProcessingRuleV1: deprecated: true type: object properties: id: type: string format: uuid configSectionID: type: string format: uuid fileID: type: string format: uuid createdAt: type: string format: uuid required: - id - configSectionID - fileID - createdAt UpdateProcessingRuleV1: deprecated: true type: object properties: match: type: string example: "*" nullable: true default: null isMatchRegexp: type: boolean nullable: true default: null language: $ref: "#/components/schemas/ProcessingRuleLanguageV1" nullable: true default: null actions: type: array items: $ref: "#/components/schemas/RuleActionV1" nullable: true default: null UpdatedProcessingRuleV1: deprecated: true type: object properties: updatedAt: type: string format: date-time required: [updatedAt] MetricsByPlugin: type: object properties: inputs: type: array items: type: object properties: instance: type: string example: "storage_backlog.3" description: plugin alias metrics: $ref: "#/components/schemas/InputMetrics" outputs: type: array items: type: object properties: instance: type: string example: "storage_backlog.3" description: plugin alias metrics: $ref: "#/components/schemas/OutputMetrics" filters: type: array items: type: object properties: instance: type: string example: "filter.3" description: plugin alias metrics: $ref: "#/components/schemas/FilterMetrics" example: | { "inputs": [ { "instance": "storage_backlog.3", "metrics": { "bytes": 0, "records": 0 } } ], "outputs": [ { "instance": "stdout.0", "metrics": { "bytes": 5811996, "records": 25697, "errors": 0, "retries": 0, "retriedRecords": 0, "retriesFailed": 0, "droppedRecords": 0, "loads": 0 } } ], "filters": [ { "instance": "filter.3", "metrics": { "dropRecords": 0, "emitRecords": 0 } } ] } InputMetrics: type: object properties: bytes: type: number format: float nullable: true default: null records: type: number format: float nullable: true default: null OutputMetrics: type: object properties: bytes: type: number format: float nullable: true default: null records: type: number format: float nullable: true default: null errors: type: number format: float nullable: true default: null retries: type: number format: float nullable: true default: null retriedRecords: type: number format: float nullable: true default: null retriesFailed: type: number format: float nullable: true default: null droppedRecords: type: number format: float nullable: true default: null loads: type: number format: float nullable: true default: null deprecated: true FilterMetrics: type: object properties: records: type: number format: float nullable: true default: null bytes: type: number format: float nullable: true default: null addRecords: type: number format: float nullable: true default: null dropRecords: type: number format: float nullable: true default: null emitRecords: type: number format: float nullable: true default: null MetricsSummary: type: object properties: input: $ref: "#/components/schemas/InputMetrics" output: $ref: "#/components/schemas/OutputMetrics" filter: $ref: "#/components/schemas/FilterMetrics" example: | { "input": { "bytes": 0, "records": 0 } }, "outputs": { "bytes": 0, "records": 0, "errors": 0, "retries": 0, "retriedRecords": 0, "retriesFailed": 0, "droppedRecords": 0, "loads": 0 } }, "filters": { "dropRecords": 0, "emitRecords": 0 } } } MetricsOvertime: type: object properties: input: $ref: "#/components/schemas/MetricsOverTimeInput" filter: $ref: "#/components/schemas/MetricsOverTimeFilter" output: $ref: "#/components/schemas/MetricsOverTimeOutput" required: - input - filter - output MetricsOverTimeInput: type: object properties: bytes: type: array items: $ref: "#/components/schemas/MetricOverTime" records: type: array items: $ref: "#/components/schemas/MetricOverTime" required: - bytes - records MetricsOverTimeFilter: type: object properties: bytes: type: array items: $ref: "#/components/schemas/MetricOverTime" records: type: array items: $ref: "#/components/schemas/MetricOverTime" addRecords: type: array items: $ref: "#/components/schemas/MetricOverTime" dropRecords: type: array items: $ref: "#/components/schemas/MetricOverTime" emitRecords: type: array items: $ref: "#/components/schemas/MetricOverTime" required: - bytes - records - addRecords - dropRecords - emitRecords MetricsOverTimeOutput: type: object properties: bytes: type: array items: $ref: "#/components/schemas/MetricOverTime" records: type: array items: $ref: "#/components/schemas/MetricOverTime" errors: type: array items: $ref: "#/components/schemas/MetricOverTime" retries: type: array items: $ref: "#/components/schemas/MetricOverTime" retriedRecords: type: array items: $ref: "#/components/schemas/MetricOverTime" retriesFailed: type: array items: $ref: "#/components/schemas/MetricOverTime" droppedRecords: type: array items: $ref: "#/components/schemas/MetricOverTime" loads: deprecated: true type: array items: $ref: "#/components/schemas/MetricOverTime" required: - bytes - records - errors - retries - retriedRecords - retriesFailed - droppedRecords - loads MetricsOverTimeByPlugin: type: object properties: inputs: type: array items: $ref: "#/components/schemas/MetricsOverTimeByPluginInput" filters: type: array items: $ref: "#/components/schemas/MetricsOverTimeByPluginFilter" outputs: type: array items: $ref: "#/components/schemas/MetricsOverTimeByPluginOutput" required: - inputs - filters - outputs MetricsOverTimeByPluginInput: type: object properties: instance: type: string example: "storage_backlog.3" description: plugin alias metrics: $ref: "#/components/schemas/MetricsOverTimeInput" required: - instance - metrics MetricsOverTimeByPluginFilter: type: object properties: instance: type: string example: "storage_backlog.3" description: plugin alias metrics: $ref: "#/components/schemas/MetricsOverTimeInput" required: - instance - metrics MetricsOverTimeByPluginOutput: type: object properties: instance: type: string example: "storage_backlog.3" description: plugin alias metrics: $ref: "#/components/schemas/MetricsOverTimeInput" required: - instance - metrics MetricOverTime: type: object properties: time: type: string format: date-time value: type: number format: float nullable: true default: null required: - time - value PreviewProcessingRuleV1: deprecated: true type: object properties: language: $ref: "#/components/schemas/ProcessingRuleLanguageV1" actions: type: array items: $ref: "#/components/schemas/RuleActionV1" logs: type: array items: $ref: "#/components/schemas/FluentBitLog" required: - language - actions - logs FluentBitLog: description: | Represents a fluent-bit log. It's an array with 2 items: - 0 being a unix timestamp with nanoseconds fraction. - 1 being an object of string key-values. type: array items: anyOf: - type: number - type: object additionalProperties: type: string example: '[1234.5, {"key": "value"}]' SearchResult: type: object properties: id: type: string format: uuid name: type: string required: [id, name] SearchResource: type: string enum: - agent - cluster_object - config_section - core_instance - environment - fleet - member - pipeline - pipeline_secret - resource_profile - trace_session AgentError: type: object description: |- An Agent Error represent an error that occurred on an agent. It can be an invalid configuration, or a malfunctioning plugin. These come directly from agents. Any agent that has errors since the last time it was updated will be marked as "errored". Errors can be dismissed by the user. properties: id: type: string format: uuid agentID: type: string format: uuid error: type: string example: |- [config] section 'foo' tried to instance a plugin name that don't exists dismissedAt: type: string format: date-time nullable: true default: null dismissReason: type: string nullable: true default: null createdAt: type: string format: date-time required: - id - agentID - error - dismissedAt - dismissReason - createdAt CreateAgentError: type: object description: Request body required to create a new Agent Error. properties: error: type: string minLength: 1 maxLength: 1024 example: |- [config] section 'foo' tried to instance a plugin name that don't exists required: [error] CreatedAgentError: type: object description: Response body after creating a new Agent Error. properties: id: type: string format: uuid createdAt: type: string format: date-time required: [id, createdAt] DismissAgentError: type: object description: Request body required to dismiss an existing agent error. properties: reason: type: string minLength: 1 maxLength: 100 example: |- It was just a test, this config is not used in production. required: [reason] DismissedAgentError: type: object description: Response body after dismissing an Agent Error. properties: dismissedAt: type: string format: date-time required: [dismissedAt] CreateAWSContractFromToken: type: object properties: amazonMarketplaceToken: type: string minLength: 1 required: [amazonMarketplaceToken] ProcessingRuleTemplateV1: type: object properties: id: type: string format: uuid projectID: type: string format: uuid name: type: string example: "My template" definition: $ref: "#/components/schemas/ProcessingRuleDefV1" pipelineVersion: type: string example: v1.3.5 description: semver version of core-fluent-bit is running input: type: string example: { "log": "line 2" } maxLength: 1048576 minimum: 1 description: input to use as an example for the processing rule template isRawInput: type: boolean description: define if the input parameter is in raw or json format (false) createdAt: type: string format: date-time updatedAt: type: string format: date-time CreateProcessingRuleTemplateV1: deprecated: true type: object properties: name: type: string example: "My template" minLength: 1 maxLength: 30 definition: $ref: "#/components/schemas/ProcessingRuleDefV1" pipelineVersion: type: string example: v1.3.5 description: semver version of core-fluent-bit is running input: type: string example: { "log": "line 2" } maxLength: 1048576 minimum: 1 description: input to use as an example for the processing rule template isRawInput: type: boolean default: false description: define if the input parameter is in raw or json format (false) required: - name - definition ProcessingRuleTemplatesV1: deprecated: true type: object properties: items: type: array items: $ref: "#/components/schemas/ProcessingRuleTemplateV1" endCursor: type: string format: uuid nullable: true default: null count: type: number format: int32 minimum: 0 static: type: array items: $ref: "#/components/schemas/StaticProcessingRuleTemplateV1" required: - items - endCursor - count - static UpdateProcessingRuleTemplateV1: deprecated: true type: object properties: name: type: string example: "My template" minLength: 1 maxLength: 30 nullable: true default: null definition: $ref: "#/components/schemas/ProcessingRuleDefV1" nullable: true default: null pipelineVersion: type: string example: v1.3.5 description: semver version of core-fluent-bit is running nullable: true default: null input: type: string example: { "log": "line 2" } maxLength: 1048576 minimum: 1 description: input to use as an example for the processing rule template default: null nullable: true isRawInput: type: boolean description: define if the input parameter is in raw or json format (false) default: false ProcessingRuleDefV1: deprecated: true type: object properties: name: type: string example: "lua" minLength: 1 pattern: "^lua$" match: type: string example: "*" minLength: 1 code: type: string example: |- function filter(tag, timestamp, record) return 1, timestamp, record end minLength: 1 call: type: string example: filter minLength: 1 StaticProcessingRuleTemplateV1: deprecated: true description: | A static processing rule template is a template that is not editable. It's a template that is provided by Calyptia. type: object properties: name: type: string example: "By Calyptia" definition: $ref: "#/components/schemas/ProcessingRuleDefV1" ConfigFormat: type: string enum: - classic - yaml - json default: classic example: yaml ValidateFluentbitConfig: type: object properties: rawConfig: type: string example: |- pipeline: inputs: - name: dummy outputs: - name: stdout match: "*" configFormat: $ref: "#/components/schemas/ConfigFormat" required: - rawConfig ProcessingRuleTemplate: type: object properties: id: type: string format: uuid projectID: type: string format: uuid name: type: string example: "My Processing Rule Template" pipelineVersion: type: string nullable: true default: null example: v24.5.0 definition: type: object additionalProperties: true example: {} createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectID - name - pipelineVersion - definition - createdAt - updatedAt CreateProcessingRuleTemplate: type: object properties: name: type: string example: "My Processing Rule Template" pipelineVersion: type: string nullable: true default: null example: v24.5.0 definition: type: object additionalProperties: true example: {} required: - name - pipelineVersion - definition ProcessingRuleTemplates: type: object properties: items: type: array items: $ref: "#/components/schemas/ProcessingRuleTemplate" endCursor: type: string format: uuid nullable: true default: null count: type: number format: int32 minimum: 0 example: 1 required: - items - endCursor - count UpdateProcessingRuleTemplate: type: object properties: name: type: string example: "My Processing Rule Template" nullable: true default: null pipelineVersion: type: string nullable: true default: null example: v24.5.0 definition: type: object nullable: true default: null additionalProperties: true example: {} Role: type: string enum: - admin - manager - team - viewer SAMLMapping: type: object description: SAML Mapping required for IDP required: - id - projectID - claimKey - claimValue - role - createdAt - updatedAt properties: id: type: string format: uuid projectID: type: string format: uuid claimKey: type: string claimValue: type: string role: $ref: "#/components/schemas/Role" createdAt: type: string format: date-time updatedAt: type: string format: date-time SAMLMappings: type: object properties: items: type: array items: $ref: "#/components/schemas/SAMLMapping" endCursor: type: string nullable: true count: type: number format: int32 required: - items - endCursor - count CreateSAMLMapping: type: object properties: claimKey: type: string claimValue: type: string role: $ref: "#/components/schemas/Role" required: - claimKey - claimValue - role UpdateSAMLMapping: type: object description: SAML Mapping to update. properties: claimKey: type: string nullable: true claimValue: type: string nullable: true role: $ref: "#/components/schemas/Role" nullable: true AuditLogAction: type: string enum: - CREATE - UPDATE - DELETE AuditLogComponents: type: object additionalProperties: type: string AuditLogIdentity: type: object additionalProperties: type: object AuditLog: type: object properties: id: type: string format: uuid timestamp: type: string format: date-time url: type: string format: url components: $ref: "#/components/schemas/AuditLogComponents" identity: $ref: "#/components/schemas/AuditLogIdentity" action: $ref: "#/components/schemas/AuditLogAction" responseCode: type: integer AuditLogs: type: object properties: endCursor: type: string items: type: array items: $ref: "#/components/schemas/AuditLog" paths: /v1/verification_email: get: tags: - user summary: Request verification email operationId: requestVerificationEmail description: |- Request a verification email for the user. When a new user registers within Calyptia Cloud with password, it should receive a verification email, in the case it didn't receive it, or the email expired already, use this endpoint to request a new one. security: - user: [] responses: "204": description: No Content /v1/projects: post: tags: - project summary: Create project operationId: createProject description: |- Creates a new project. A project is the base unit of work at Calyptia Cloud. You can register agents here, create aggregators in which you can deploy an entire set of pipelines, and monitor them. You can even invite other people to the project and have a team. security: - user: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateProject" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedProject" get: tags: - project summary: Projects operationId: projects description: Projects you are a member of. security: - user: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last projects. - schema: type: string in: query name: name description: Name matching projects. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Project" "/v1/projects/{projectID}": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: tags: - project summary: Project operationId: project description: Project by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Project" patch: tags: - project summary: Update project operationId: updateProject description: Update project by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateProject" responses: "204": description: No Content delete: tags: - project summary: Delete project operationId: deleteProject description: |- Delete project by its ID. Only the creator of the project can delete it. security: - user: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" "/v1/projects/{projectID}/tokens": parameters: - schema: type: string format: uuid name: projectID in: path required: true post: tags: - token summary: Create token operationId: createToken description: |- Create token within a project. These tokens are to authorize other applications to access the project. For example: - an agent might use it to register itself to the project. - you might create a new aggregator in the project using the aggregator CLI. - you might use it within the Calyptia CLI to grant access to your project. security: - user: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateToken" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Token" get: tags: - token summary: Tokens operationId: tokens description: Tokens from a project. security: - user: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last tokens. - schema: type: string in: query name: name description: Name matching tokens. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Token" "/v1/project_tokens/{tokenID}": parameters: - schema: type: string format: uuid name: tokenID in: path required: true get: tags: - token summary: Token operationId: token description: Token by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Token" patch: tags: - token summary: Update token operationId: updateToken description: Update token by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateToken" responses: "204": description: No Content delete: tags: - token summary: Delete token operationId: deleteToken description: Delete token by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/projects/{projectID}/members": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: tags: - membership summary: Members operationId: members description: Members from a project. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last members. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Membership" "/v1/members/{memberID}": parameters: - name: memberID in: path required: true schema: type: string format: uuid patch: tags: [membership] operationId: updateMember summary: Update member description: Update member by its ID. security: - user: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateMember" responses: "204": description: No Content delete: tags: [membership] operationId: deleteMember summary: Delete member description: Delete member by its ID. security: - user: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" "409": description: |- Conflict. Uppon receiving `cannot delete last creator` error, clients should instead delete the project. content: application/json: schema: type: object properties: error: type: string example: "cannot delete last creator" required: ["error"] "/v1/projects/{projectID}/invite": parameters: - schema: type: string format: uuid name: projectID in: path required: true post: tags: - invitation summary: Create invitation operationId: createInvitation description: |- Create invitation to a project. This will send an invitation email with a link to join to the email address provided. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateInvitation" responses: "204": description: No Content /v1/join_project: post: tags: - invitation summary: Accept invitation operationId: acceptInvitation description: |- Accept invitation to a project. The project to which you join is parsed from the token. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/AcceptInvitation" responses: "204": description: No Content /v1/agents: post: tags: - agent summary: Register agent operationId: registerAgent description: |- Register agent within a project. The project in which the agent is registered is parsed from the authorization token. Users are not allowed to register agents. security: - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/RegisterAgent" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/RegisteredAgent" "/v1/projects/{projectID}/agents": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: tags: - agent summary: Agents operationId: agents description: Agents from a project. security: - user: [] - project: [] parameters: - name: fleet_id description: Filter agents from a single fleet. in: query schema: type: string format: uuid - schema: type: integer minimum: 0 in: query name: last description: Last agents. - schema: type: string in: query name: before description: Agents before the given cursor. - schema: type: string in: query name: name description: Name matching agents. - schema: type: string example: tagone AND tagtwo in: query name: tags_query description: Tag query. - schema: type: string in: query name: environment_id description: Environment ID for matching agents. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextAgentsPage: operationId: agents parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/Agent" delete: tags: - agent summary: Delete Agents operationId: deleteAgents description: Delete agents from a project. security: - user: [] - project: [] parameters: - schema: type: array items: type: string format: uuid in: query name: agent_id description: List of agent IDs to delete. responses: "204": description: Deleted "/v1/agents/{agentID}": parameters: - schema: type: string format: uuid name: agentID in: path required: true get: tags: - agent summary: Agent operationId: agent description: Agents by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Agent" patch: tags: - agent summary: Update agent operationId: updateAgent description: Update agent by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateAgent" responses: "204": description: No Content delete: tags: - agent summary: Delete agent operationId: deleteAgent description: Delete agent by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/agents/{agentID}/config_history": parameters: - schema: type: string format: uuid name: agentID in: path required: true get: tags: - agent_config summary: Agent configuration history operationId: agentConfigHistory description: |- Configuration history from an agent. Every time an agent config is updated, a new history entry with the change is created. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last config history entries. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/AgentConfig" /v1/aggregators: post: tags: - aggregator summary: Create aggregator operationId: createAggregator description: |- Create aggregator within a project. The project in which the aggregator is created is parser from the authorization token. Users are not allowed to create aggregators. security: - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateAggregator" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedAggregator" "/v1/projects/{projectID}/aggregators": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: deprecated: true tags: - aggregator summary: Aggregators (deprecated) operationId: aggregators description: Aggregators from a project (deprecated). security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last aggregators. - schema: type: string in: query name: before description: Aggregators before the given cursor. - schema: type: string in: query name: name description: Name matching aggregators. - schema: type: string in: query name: environment_id description: Environment ID for matching aggregators. - schema: type: string example: tagone AND tagtwo in: query name: tags_query description: Tag query. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextAggregatorsPage: operationId: aggregators parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/Aggregator" delete: tags: - aggregator summary: Delete Aggregators operationId: deleteAggregators description: Delete aggregators from a project. security: - user: [] - project: [] parameters: - schema: type: array items: type: string format: uuid in: query name: aggregator_id description: List of aggregator IDs to delete. responses: "204": description: Deleted "/v1/projects/{projectID}/core_instances": parameters: - name: projectID schema: type: string format: uuid in: path description: Parent project ID. required: true get: operationId: coreInstances tags: [core_instance] summary: Core Instances description: |- Core Instances from a project with backward pagination. security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last core instances. - name: before schema: type: string in: query description: Paginate core instances before the given cursor. - name: name schema: type: string in: query description: Filter core instances with the given name. - name: environment_id schema: type: string in: query description: Filter core instances with the given environment ID. - name: tags_query schema: type: string example: tagone AND tagtwo in: query description: Filter core instances with the given tags query. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CoreInstances" "/v1/core_instances/{coreInstanceID}/files": parameters: - name: coreInstanceID in: path schema: type: string format: uuid required: true post: operationId: createCoreInstanceFile summary: Create Core Instance File description: |- Create a new file within a core instance. The file will be created with the given name and content. If `encypted` is set to `true`, the file will be encrypted using the core instance's encryption key. The name must be unique among all files within the core instance. tags: [core_instance_file] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateCoreInstanceFile" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Created" get: operationId: coreInstanceFiles summary: Core Instance Files description: |- Files from a core instance with backward pagination. tags: [core_instance_file] security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last files. - name: before schema: type: string in: query description: Paginate files before the given cursor. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CoreInstanceFiles" "/v1/core_instance_files/{coreInstanceFileID}": parameters: - name: coreInstanceFileID in: path schema: type: string format: uuid required: true patch: operationId: updateCoreInstanceFile summary: Update Core Instance File description: |- Update a file within a core instance. The file will be updated with the given name and content. If `encypted` is set to `true`, the file will be encrypted using the core instance's encryption key. tags: [core_instance_file] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateCoreInstanceFile" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Updated" delete: operationId: deleteCoreInstanceFile summary: Delete Core Instance File description: |- Delete a file within a core instance. tags: [core_instance_file] security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" "/v1/core_instances/{coreInstanceID}/secrets": parameters: - name: coreInstanceID in: path schema: type: string format: uuid required: true post: operationId: createCoreInstanceSecret summary: Create Core Instance Secret description: |- Create a new secret within a core instance. The secret will be created with the given name and content. If `encypted` is set to `true`, the secret will be encrypted using the core instance's encryption key. The name must be unique among all secrets within the core instance. tags: [core_instance_secret] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateCoreInstanceSecret" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Created" get: operationId: coreInstanceSecrets summary: Core Instance Secrets description: |- Secrets from a core instance with backward pagination. tags: [core_instance_secret] security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last secrets. - name: before schema: type: string in: query description: Paginate secrets before the given cursor. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CoreInstanceSecrets" "/v1/core_instance_secrets/{coreInstanceSecretID}": parameters: - name: coreInstanceSecretID in: path schema: type: string format: uuid required: true patch: operationId: updateCoreInstanceSecret summary: Update Core Instance Secret description: |- Update a secret within a core instance. The secret will be updated with the given name and content. If `encypted` is set to `true`, the secret will be encrypted using the core instance's encryption key. tags: [core_instance_secret] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateCoreInstanceSecret" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Updated" delete: operationId: deleteCoreInstanceSecret summary: Delete Core Instance Secret description: |- Delete a secret within a core instance. tags: [core_instance_secret] security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" "/v1/aggregators/{aggregatorID}/ping": parameters: - schema: type: string format: uuid name: aggregatorID in: path required: true post: tags: - aggregator summary: Ping Cloud API by Aggregator ID operationId: aggregatorPing description: Ping Cloud API by aggregator ID security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AggregatorPingResponse" "/v1/aggregators/{aggregatorID}": parameters: - schema: type: string format: uuid name: aggregatorID in: path required: true get: tags: - aggregator summary: Aggregator operationId: aggregator description: Aggregator by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Aggregator" patch: tags: - aggregator summary: Update aggregator operationId: updateAggregator description: Update aggregator by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateAggregator" responses: "204": description: No Content delete: tags: - aggregator summary: Delete aggregator operationId: deleteAggregator description: Delete aggregator by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/aggregators/{aggregatorID}/resource_profiles": parameters: - schema: type: string format: uuid name: aggregatorID in: path required: true post: tags: - resource_profile summary: Create resource profile operationId: createResourceProfile description: |- Create resource profile within an aggregator. A resource profile is a specification of a resource used during the deployment of a pipeline. By default, when you setup an aggregator, Calyptia Cloud will generate 3 resource profiles for you: - high-performance-guaranteed-delivery. - high-performance-optimal-throughput. - best-effort-low-resource. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateResourceProfile" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedResourceProfile" get: tags: - resource_profile summary: Resource profiles operationId: resourceProfiles description: Resource profiles from an aggregator. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last tokens. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ResourceProfile" "/v1/resource_profiles/{resourceProfileID}": parameters: - schema: type: string format: uuid name: resourceProfileID in: path required: true get: tags: - resource_profile summary: Resource profile operationId: resourceProfile description: Resource profile by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ResourceProfile" patch: tags: - resource_profile summary: Update resource profile operationId: updateResourceProfile description: Update resource profile by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateResourceProfile" responses: "204": description: No Content delete: tags: - resource_profile summary: Delete resource profile operationId: deleteResourceProfile description: Delete resource profile by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/aggregators/{aggregatorID}/pipelines": parameters: - schema: type: string format: uuid name: aggregatorID in: path required: true post: tags: - pipeline summary: Create pipeline operationId: createPipeline description: |- Create pipeline within an aggregator. The pipeline name must be unique within the aggregator. The resource profile must exist already. If you don't provide one, it will default to "best-effort-low-resource". Use them to easily deploy configured agents to the aggregator. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipeline" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedPipeline" get: deprecated: true tags: - pipeline summary: Pipelines (deprecated) operationId: pipelines description: Pipelines from an aggregator (deprecated). security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last pipelines. - schema: type: string in: query name: before description: Pipelines before the given cursor. - schema: type: string in: query name: name description: Name matching pipelines. - schema: type: string example: tagone AND tagtwo in: query name: tags_query description: Tag query. - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. - schema: type: string enum: - ports - files - secrets in: query name: include description: Include all ports, secrets and files objects in the pipeline. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextPipelinesPage: operationId: pipelines parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/Pipeline" delete: tags: - pipeline summary: Delete Pipelines operationId: deletePipelines description: Delete pipelines from an aggregator. security: - user: [] - project: [] parameters: - schema: type: array items: type: string format: uuid in: query name: pipeline_id description: List of pipeline IDs to delete. responses: "204": description: Deleted "/v1/core_instances/{coreInstanceID}/pipelines": parameters: - name: coreInstanceID schema: type: string format: uuid in: path description: Parent core instance ID. required: true get: operationId: pipelinesV2 tags: [pipeline] summary: Pipelines description: Pipelines from a core instance with backward pagination. security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last pipelines. - name: before schema: type: string in: query description: Paginate pipelines before the given cursor. - name: kind schema: $ref: "#/components/schemas/PipelineKind" in: query description: Filter pipelines by kind. - name: name schema: type: string in: query description: Filter pipelines by name. - name: tags_query schema: type: string example: tagone AND tagtwo in: query description: Filter pipelines by giving a tags query. - name: config_format schema: type: string enum: - ini - json - yaml in: query description: Desired output config format. - name: include schema: type: array items: type: string enum: - ports - files - secrets in: query description: Whether to include ports, secrets and files objects in the pipeline. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Pipelines" "/v1/projects/{projectID}/aggregator_pipelines": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: deprecated: true tags: - pipeline summary: Project pipelines (deprecated) operationId: projectPipelines description: Pipelines from a project (deprecated). security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last pipelines. - schema: type: string in: query name: name description: Name matching pipelines. - schema: type: string example: tagone AND tagtwo in: query name: tags_query description: Tag query. - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/Pipeline" "/v1/projects/{projectID}/pipelines": parameters: - name: projectID schema: type: string format: uuid in: path description: Parent project ID. required: true get: operationId: projectPipelinesV2 tags: [pipeline] summary: Project pipelines description: Pipelines from a project with backward pagination. security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last pipelines. - name: before schema: type: string in: query description: Paginate pipelines before the given cursor. - name: kind schema: $ref: "#/components/schemas/PipelineKind" in: query description: Filter pipelines by kind. - name: name schema: type: string in: query description: Filter pipelines by name. - name: tags_query schema: type: string example: tagone AND tagtwo in: query description: Filter pipelines by giving a tags query. - name: config_format schema: type: string enum: - ini - json - yaml in: query description: Desired output config format. - name: include schema: type: array items: type: string enum: - ports - files - secrets in: query description: Whether to include ports, secrets and files objects in the pipeline. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Pipelines" "/v1/aggregator_pipelines/{pipelineID}": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true get: tags: - pipeline summary: Pipeline operationId: pipeline description: Pipeline by ID. security: - user: [] - project: [] parameters: - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Pipeline" patch: tags: - pipeline summary: Update pipeline operationId: updatePipeline description: Update pipeline by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipeline" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UpdatedPipeline" delete: tags: - pipeline summary: Delete pipeline operationId: deletePipeline description: Delete pipeline by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/aggregator_pipelines/{pipeline}/config_history": parameters: - schema: type: string format: uuid name: pipeline in: path required: true get: tags: - pipeline_config summary: Pipeline configuration history operationId: pipelineConfigHistory description: |- Configuration history from a pipeline. Every time a pipeline config is updated, a new history entry with the change is created. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last history entries. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelineConfig" "/v1/aggregator_pipelines/{pipeline}/status_history": parameters: - schema: type: string format: uuid name: pipeline in: path required: true get: tags: - pipeline_status summary: Pipeline status history operationId: pipelineStatusHistory description: |- Status history from a pipeline. Every time a pipeline status is changed, a new history entry with the change is created. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last history entries. - schema: type: string enum: - NEW - FAILED - STARTING - STARTED - DELETED in: query name: status description: Filter status entries with matching status. - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelineStatus" "/v1/aggregator_pipelines/{pipelineID}/files": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true post: tags: - pipeline_file summary: Create pipeline file operationId: createPipelineFile description: |- Create file within a pipeline. The given name is unique within the pipeline. These files can be referenced by their name within a fluentbit configuration file like so `{{files.thename}}`. Use them to share common stuff like parsers. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipelineFile" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedPipelineFile" get: tags: - pipeline_file summary: Pipeline files operationId: pipelineFiles description: Files from a pipeline. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last files. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelineFile" "/v1/pipeline_files/{fileID}": parameters: - schema: type: string format: uuid name: fileID in: path required: true get: tags: - pipeline_file summary: Pipeline file operationId: pipelineFile description: File by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineFile" patch: tags: - pipeline_file summary: Update pipeline file operationId: updatePipelineFile description: Update file by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineFile" responses: "204": description: No Content delete: tags: - pipeline_file summary: Delete pipeline file operationId: deletePipelineFile description: |- Delete pipeline file by its ID. The file cannot be deleted if some pipeline config is still referencing it; you must delete the pipeline first if you want to delete the file. security: - user: [] - project: [] responses: "204": description: No Content "/v1/pipelines/{pipelineID}/logs": parameters: - name: pipelineID schema: type: string format: uuid in: path description: Parent pipeline ID. required: true post: operationId: createPipelineLog summary: Create Pipeline Log description: |- Create a new log within a pipeline. The log will be created with the given `logs` blob of text. tags: [pipeline_log] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipelineLog" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/Created" get: operationId: pipelineLogs summary: Pipeline Logs description: |- Logs from a pipeline with backward pagination. tags: [pipeline_log] security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Limit to the last logs. - name: before schema: type: string in: query description: Paginate logs before the given cursor. - name: status schema: type: string enum: - NEW - DONE in: query description: Filter logs by status responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineLogs" "/v1/pipeline_logs/{pipelineLogID}": parameters: - name: pipelineLogID in: path schema: type: string format: uuid required: true get: tags: [pipeline_log] summary: Pipeline log operationId: pipelineLog description: Pipeline log by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineLog" patch: operationId: updatePipelineLog summary: Update Pipeline Log description: |- Update a log given its ID. The log will be updated with the given `logs` blob of text. tags: [pipeline_log] security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineLog" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Updated" delete: operationId: deletePipelineLog summary: Delete Pipeline Log description: |- Delete a log given its ID. tags: [pipeline_log] security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" "/v1/pipelines/{pipelineID}/checks": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true post: tags: - pipeline_check summary: Create pipeline check operationId: createPipelineCheck description: |- Create check within a pipeline. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipelineCheck" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedPipelineCheck" get: tags: - pipeline_check summary: Pipeline checks operationId: pipelineChecks description: Checks associated to a pipeline. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last files. - schema: type: string in: query name: before description: End cursor. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextChecksPage: operationId: pipelineChecks parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelineCheck" "/v1/pipeline_checks/{checkID}": parameters: - schema: type: string format: uuid name: checkID in: path required: true get: tags: - pipeline_check summary: Pipeline check operationId: pipelineCheck description: Check by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineCheck" patch: tags: - pipeline_check summary: Update pipeline check operationId: updatePipelineCheck description: Update check by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineCheck" responses: "204": description: No Content delete: tags: - pipeline_check summary: Delete pipeline check operationId: deletePipelineCheck description: |- Delete pipeline check by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/core_instances/{coreInstanceID}/ingest_checks": parameters: - schema: type: string format: uuid name: coreInstanceID in: path required: true post: tags: - ingest_check summary: Create Ingest check operationId: createIngestCheck description: |- Create an Ingest check within a core instance. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateIngestCheck" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedIngestCheck" get: tags: - ingest_check summary: Ingest checks operationId: IngestChecks description: Ingest checks associated to a core instance. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last Ingest checks. - schema: type: string in: query name: before description: End cursor. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextChecksPage: operationId: IngestChecks parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/IngestCheck" "/v1/core_instances/{coreInstanceID}/checks": parameters: - schema: type: string format: uuid name: coreInstanceID in: path required: true post: tags: - core_instance_check summary: Create core instance check operationId: createCoreInstanceCheck description: |- Create check within a core instance. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateCoreInstanceCheck" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedCoreInstanceCheck" get: tags: - core_instance_check summary: Core Instance checks operationId: coreInstanceChecks description: Checks associated to a core instance. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last checks. - schema: type: string in: query name: before description: End cursor. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextChecksPage: operationId: coreInstanceChecks parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/CoreInstanceCheck" "/v1/core_instance_checks/{checkID}": parameters: - schema: type: string format: uuid name: checkID in: path required: true get: tags: - core_instance_check summary: Core Instance check operationId: coreInstanceCheck description: Check by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CoreInstanceCheck" patch: tags: - core_instance_check summary: Update core instance check operationId: updateCoreInstanceCheck description: Update check by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateCoreInstanceCheck" responses: "204": description: No Content delete: tags: - core_instance_check summary: Delete core instance check operationId: deleteCoreInstanceCheck description: |- Delete core instance check by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/ingest_checks/{checkID}": parameters: - schema: type: string format: uuid name: checkID in: path required: true get: tags: - ingest_check summary: Ingest Check operationId: ingestCheck description: Check by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IngestCheck" patch: tags: - ingest_check summary: Update Ingest check operationId: updateIngestCheck description: Update a Ingest check by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateIngestCheck" responses: "204": description: No Content delete: tags: - ingest_check summary: Delete a Ingest check. operationId: deleteIngestCheck description: |- Delete Ingest check by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/pipelines/{pipelineID}/cluster_objects": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true get: tags: - pipeline_cluster_objects summary: Get a list of cluster objects associated to a pipeline. operationId: pipelineClusterObjects security: - user: [] - project: [] description: |- Get a list of all the cluster objects that are associated to a pipeline. parameters: - schema: type: integer minimum: 0 in: query name: last description: Last cluster objects. - schema: type: string in: query name: before description: Cluster objects before the given cursor. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextClusterObjectsPage: operationId: pipelineClusterObjects parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/ClusterObject" patch: tags: - pipeline_cluster_objects summary: Update the cluster objects related to a pipeline (only for daemonSet kind). operationId: updatePipelineClusterObjects description: |- Updates a pipeline to be related to a set of given cluster objects this is only supported for pipelines of kind daemonSet. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineClusterObjects" responses: "204": description: No Content delete: tags: - pipeline_cluster_objects summary: Remove the relation between the cluster objects and the given pipeline. operationId: deletePipelineClusterObjects description: Remove the relation between the cluster objects and the pipeline (only for daemonSet kind). security: - user: [] - project: [] parameters: - schema: type: array items: type: string format: uuid in: query name: cluster_object_id description: List of cluster object IDs to delete. responses: "204": description: Deleted "/v1/pipelines/{pipelineID}/metadata": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true get: tags: - pipeline_metadata summary: Get the metadata associated to a pipeline, keys can be provided or the full metadata will be returned (if none). operationId: pipelineMetadata security: - user: [] - project: [] description: |- Get the metadata associated to a pipeline parameters: - schema: type: array items: type: string in: query name: key required: false description: List of metadata keys to retrieve. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineMetadata" patch: tags: - pipeline_metadata summary: Updates or creates a new metadata key on the pipeline's metadata operationId: updatePipelineMetadata description: |- Updates a pipeline metadata item by setting the key to a given json object value. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineMetadata" responses: "204": description: No Content "/v1/aggregator_pipelines/{pipelineID}/secrets": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true post: tags: - pipeline_secret summary: Create pipeline secret operationId: createPipelineSecret description: |- Create secret within a pipeline. The given name is unique within the pipeline. These secrets can be referenced by their name within a fluentbit configuration file like so `{{secrets.thename}}`. Use them to hide sensible values from your config file. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipelineSecret" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedPipelineSecret" get: tags: - pipeline_secret summary: Pipeline secrets operationId: pipelineSecrets description: Secrets from a pipeline. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last secrets. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelineSecret" "/v1/pipeline_secrets/{secretID}": parameters: - schema: type: string format: uuid name: secretID in: path required: true get: tags: - pipeline_secret summary: Pipeline secret operationId: pipelineSecret description: Secret by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelineSecret" patch: tags: - pipeline_secret summary: Update pipeline secret operationId: updatePipelineSecret description: Update secret by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelineSecret" responses: "204": description: No Content delete: tags: - pipeline_secret summary: Delete pipeline secret operationId: deletePipelineSecret description: |- Delete pipeline secret by its ID. The secret cannot be deleted if some pipeline config is still referencing it; you must delete the pipeline first if you want to delete the secret. security: - user: [] - project: [] responses: "204": description: No Content "/v1/aggregator_pipelines/{pipelineID}/ports": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true post: tags: - pipeline_port summary: Create pipeline port operationId: createPipelinePort description: |- Create port within a pipeline. Ports can automatically be parsed from a config file, but this action allows you to programatically add more. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreatePipelinePort" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedPipelinePort" get: tags: - pipeline_port summary: Pipeline ports operationId: pipelinePorts description: Ports from a pipeline. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last ports. responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PipelinePort" "/v1/pipeline_ports/{portID}": parameters: - schema: type: string format: uuid name: portID in: path required: true get: tags: - pipeline_port summary: Pipeline port operationId: pipelinePort description: Port by ID. security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PipelinePort" patch: tags: - pipeline_port summary: Update pipeline port operationId: updatePipelinePort description: Update port by its ID. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdatePipelinePort" responses: "204": description: No Content delete: tags: - pipeline_port summary: Delete pipeline port operationId: deletePipelinePort description: Delete port by its ID. security: - user: [] - project: [] responses: "204": description: No Content "/v1/config_validate/{agentType}": parameters: - schema: type: string enum: - fluentbit - fluentd name: agentType in: path required: true post: deprecated: true tags: - config_validator summary: Validate configuration operationId: validateConfig description: |- Validates that an already parsed fluentbit or fluentd config is semantically valid. To parse the raw agent config take a look at https://github.com/calyptia/fluent-bit-config-parser. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/ValidatingConfig" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ValidatedConfig" "/v1/config_validate_v2": post: deprecated: true tags: - config_validator_v2 summary: Validate configuration on the v2 endpoint of the service operationId: validateConfigV2 description: |- Validates that an already parsed fluentbit config is semantically valid under the V2 error specification To parse the raw agent config take a look at https://github.com/calyptia/fluent-bit-config-parser. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/ValidatingConfig" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ValidatedConfigV2" "/v1/projects/{projectID}/environments": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: tags: - environment summary: Project environments operationId: projectEnvironments description: Environments from a project. security: - user: [] - project: [] parameters: - schema: type: integer minimum: 0 in: query name: last description: Last environments. - schema: type: string in: query name: before description: Environments before the given cursor. - schema: type: string in: query name: name description: Name matching environments. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextEnvironmentsPage: operationId: environments parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/Environment" post: tags: - environment summary: Create environment operationId: createEnvironment description: Create a environment to a given project. security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateEnvironment" responses: "201": description: Created content: application/json: schema: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time "/v1/environments/{environmentID}": parameters: - schema: type: string format: uuid name: environmentID in: path required: true patch: tags: - environment summary: Update environment operationId: updateEnvironments description: Updates a given environment security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateEnvironment" responses: "200": description: No Content delete: tags: - environment summary: Delete environment operationId: deleteEnvironment description: Delete a given environment security: - user: [] - project: [] responses: "200": description: OK # TODO: due to limitations on the way x-msgpack body fields are processed # by schemathesis, we aren't not exposing this endpoint yet until # we have a valid cmetrics encoder. #"/v1/agent_metrics": # post: # tags: # - metric # summary: Add agent metrics # operationId: addAgentMetrics # description: |- # Store the incomming metrics from the agent. # security: # - project: [] # requestBody: # content: # application/x-msgpack: # schema: # type: string # format: binary # description: |- # Msgpack encoded metrics using cmetrics library. # responses: # "201": # description: Created # content: # application/json: # schema: # type: object # description: Total number of inserted metrics. # properties: # totalInserted: # type: integer # minimum: 0 # required: # - totalInserted "/v1/projects/{projectID}/metrics": parameters: - schema: type: string format: uuid name: projectID in: path required: true get: tags: - metric summary: Project metrics deprecated: true operationId: projectMetrics description: |- Contains an overview of the aggregated metrics for a project. It includes metrics link the amount of records, bytes, and errors per plugin. security: - user: [] - project: [] parameters: - schema: type: string format: duration default: "-24h" name: start in: query - schema: type: string format: duration default: 1h name: interval in: query responses: "200": description: OK headers: Sunset: schema: type: string example: "Tue, 01 Nov 2022 00:00:00 GMT" description: RFC1123 date when the endpoint will be removed. content: application/json: schema: $ref: "#/components/schemas/ProjectMetrics" "/v1/agents/{agentID}/metrics": parameters: - schema: type: string format: uuid name: agentID in: path required: true get: tags: - metric summary: Agent metrics deprecated: true operationId: agentMetricsV1 description: |- Contains an overview of the aggregated metrics for an agent. It includes metrics link the amount of records, bytes, and errors per plugin. security: - user: [] - project: [] parameters: - schema: type: string format: duration default: "-24h" name: start in: query - schema: type: string format: duration default: 1h name: interval in: query responses: "200": description: OK headers: Sunset: schema: type: string example: "Tue, 01 Nov 2022 00:00:00 GMT" description: RFC1123 date when the endpoint will be removed. content: application/json: schema: $ref: "#/components/schemas/AgentMetrics" "/v1/pipeline_metrics/{pipelineID}": parameters: - schema: type: string format: uuid name: pipelineID in: path required: true get: tags: - metric summary: Pipeline metrics deprecated: true operationId: pipelineMetricsV1 description: |- Contains an overview of the aggregated metrics for a pipeline. It includes metrics link the amount of records, bytes, and errors per plugin. security: - user: [] - project: [] parameters: - schema: type: string format: duration default: "-24h" name: start in: query - schema: type: string format: duration default: 1h name: interval in: query responses: "200": description: OK headers: Sunset: schema: type: string example: "Tue, 01 Nov 2022 00:00:00 GMT" description: RFC1123 date when the endpoint will be removed. content: application/json: schema: $ref: "#/components/schemas/AgentMetrics" "/v1/aggregator_metrics/{aggregatorID}": parameters: - name: aggregatorID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Aggregator metrics deprecated: true operationId: aggregatorMetrics tags: - metric responses: "200": description: OK headers: Sunset: schema: type: string example: "Tue, 01 Nov 2022 00:00:00 GMT" description: RFC1123 date when the endpoint will be removed. content: application/json: schema: $ref: "#/components/schemas/AggregatorMetrics" "/v1/aggregators/{aggregatorID}/pipelines_metrics": parameters: - name: aggregatorID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h - name: pipeline_id required: true in: query description: List of pipeline IDs. schema: type: array items: type: string format: uuid security: - user: [] - project: [] summary: Aggregator pipelines metrics (bulk) deprecated: true operationId: aggregatorPipelinesMetrics tags: - metric responses: "200": description: OK headers: Sunset: schema: type: string example: "Tue, 01 Nov 2022 00:00:00 GMT" description: RFC1123 date when the endpoint will be removed. content: application/json: schema: $ref: "#/components/schemas/AggregatorPipelinesMetrics" "/v1/core_instances/{coreInstanceID}/cluster_objects": parameters: - name: coreInstanceID in: path schema: type: string format: uuid required: true post: tags: [cluster_object] security: - user: [] - project: [] summary: Create cluster object operationId: createClusterObject requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateClusterObject" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedClusterObject" get: tags: [cluster_object] parameters: - schema: $ref: "#/components/schemas/ClusterObjectKind" in: query name: kind description: Kind of the kubernetes object. required: false - schema: type: string in: query required: false name: name description: Kubernetes object name to filter by. example: kube-system - name: last in: query schema: type: integer minimum: 0 - name: before in: query schema: type: string security: - user: [] - project: [] summary: Cluster objects operationId: clusterObjects responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextClusterObjectsPage: operationId: clusterObjects parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/ClusterObject" "/v1/cluster_objects/{clusterObjectID}": parameters: - schema: type: string format: uuid name: clusterObjectID in: path required: true patch: tags: - cluster_object summary: Update cluster object operationId: updateClusterObject description: Updates a given cluster_object security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateClusterObject" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UpdatedClusterObject" delete: tags: - cluster_object summary: Delete cluster object operationId: deleteClusterObject description: Delete a given cluster_object security: - user: [] - project: [] responses: "200": description: OK "/v1/pipelines/{pipelineID}/trace_sessions": parameters: - name: pipelineID in: path schema: type: string format: uuid required: true post: tags: [trace_session] security: - user: [] - project: [] summary: Create trace session operationId: createTraceSession requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateTraceSession" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedTraceSession" get: tags: [trace_session] security: - user: [] - project: [] summary: Trace sessions operationId: traceSessions responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextTraceSessionsPage: operationId: traceSessions parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/TraceSession" "/v1/pipelines/{pipelineID}/trace_session": parameters: - name: pipelineID in: path schema: type: string format: uuid required: true get: tags: [trace_session] security: - user: [] - project: [] summary: Active trace session operationId: activeTraceSession responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TraceSession" delete: tags: [trace_session] security: - user: [] - project: [] summary: Terminate active trace session operationId: terminateActiveTraceSession responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TerminatedTraceSession" "/v1/trace_sessions/{sessionID}": parameters: - name: sessionID in: path schema: type: string format: uuid required: true get: tags: [trace_session] security: - user: [] - project: [] summary: Trace session operationId: traceSession responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TraceSession" patch: tags: [trace_session] security: - user: [] - project: [] summary: Update trace session operationId: updateTraceSession requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateTraceSession" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UpdatedTraceSession" "/v1/pipelines/{pipelineID}/trace_session/records": parameters: - name: pipelineID in: path schema: type: string format: uuid required: true post: tags: [trace_record] security: - user: [] - project: [] summary: Create trace record operationId: createTraceRecord requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateTraceRecord" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedTraceRecord" "/v1/trace_sessions/{sessionID}/records": parameters: - name: sessionID in: path schema: type: string format: uuid required: true get: tags: [trace_record] security: - user: [] - project: [] summary: Trace records operationId: traceRecords responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextTraceRecordsPage: operationId: traceRecords parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/TraceRecord" "/v1/projects/{projectID}/config_sections": parameters: - name: projectID in: path schema: type: string format: uuid required: true post: tags: [config_section] security: - user: [] - project: [] summary: Create config section operationId: createConfigSection requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateConfigSection" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedConfigSection" get: tags: [config_section] security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Last config sections. - name: before schema: type: string in: query description: Config sections before the given cursor. - name: include_processing_rules schema: type: boolean in: query description: | Include config sections that were created through a processing rule. summary: Config sections operationId: configSections responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextTraceRecordsPage: operationId: configSections parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/ConfigSection" "/v1/config_sections/{configSectionID}": parameters: - name: configSectionID in: path schema: type: string format: uuid required: true get: tags: [config_section] security: - user: [] - project: [] summary: Config section operationId: configSection responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ConfigSection" links: Project: operationId: project parameters: projectID: "$response.body.projectID" patch: tags: [config_section] summary: Update config section operationId: updateConfigSection security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateConfigSection" responses: "200": description: Updated content: application/json: schema: $ref: "#/components/schemas/UpdatedConfigSection" delete: tags: [config_section] summary: Delete config section operationId: deleteConfigSection security: - user: [] - project: [] responses: "204": description: Deleted "/v1/pipelines/{pipelineID}/config_section_set": parameters: - name: pipelineID in: path schema: type: string format: uuid required: true patch: tags: [config_section] summary: Update config section set operationId: updateConfigSectionSet security: - user: [] - project: [] requestBody: content: application/json: schema: type: array items: type: string format: uuid description: Config section IDs. responses: "204": description: Updated "/v1/pipelines/{pipelineID}/processing_rules": parameters: - name: pipelineID in: path schema: type: string format: uuid required: true post: deprecated: true tags: [processing_rule] security: - user: [] - project: [] summary: Create a processing rule description: | Create a processing rule in the given pipeline. Only one processing rule is allowed per pipeline. operationId: createProcessingRuleV1 requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateProcessingRuleV1" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedProcessingRuleV1" get: deprecated: true tags: [processing_rule] security: - user: [] - project: [] parameters: - name: last schema: type: integer minimum: 0 in: query description: Last processing rules. - name: before schema: type: string in: query description: Processing rules before the given cursor. summary: Processing rules operationId: processingRulesV1 responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextTraceRecordsPage: operationId: processingRulesV1 parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/ProcessingRuleV1" "/v1/processing_rules/{processingRuleID}": parameters: - name: processingRuleID in: path schema: type: string format: uuid required: true get: deprecated: true tags: [processing_rule] security: - user: [] - project: [] summary: Processing rule operationId: processingRuleV1 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingRuleV1" links: Pipeline: operationId: pipeline parameters: projectID: "$response.body.pipelineID" ConfigSection: operationId: configSection parameters: projectID: "$response.body.configSectionID" File: operationId: pipelineFile parameters: projectID: "$response.body.fileID" patch: deprecated: true tags: [processing_rule] summary: Update processing rule operationId: updateProcessingRuleV1 security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateProcessingRuleV1" responses: "200": description: Updated content: application/json: schema: $ref: "#/components/schemas/UpdatedProcessingRuleV1" delete: deprecated: true tags: [processing_rule] summary: Delete processing rule operationId: deleteProcessingRuleV1 security: - user: [] - project: [] responses: "204": description: Deleted "/v1/preview_processing_rule": post: deprecated: true tags: [processing_rule] summary: Preview processing rule operationId: previewProcessingRuleV1 security: - user: [] - project: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/PreviewProcessingRuleV1" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/FluentBitLog" "/v2/core_instances/{coreInstanceID}/metrics": description: | Metrics for a core instance. parameters: - name: coreInstanceID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Core instance metrics operationId: coreInstanceMetrics tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsSummary" "/v2/core_instances/{coreInstanceID}/metrics_by_plugin": description: | Metrics for a core instance organized by plugin. parameters: - name: coreInstanceID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Core instance metrics by plugin. operationId: coreInstanceMetricsByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsByPlugin" "/v2/core_instances/{coreInstanceID}/metrics_over_time": description: | Metrics over time for a core instance. parameters: - name: coreInstanceID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Core instance metrics over time operationId: coreInstanceMetricsOverTime tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOvertime" "/v2/core_instances/{coreInstanceID}/metrics_over_time_by_plugin": description: | Metrics over time for a core instance. parameters: - name: coreInstanceID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Core instance metrics over time organized by plugin operationId: coreInstanceMetricsOverTimeByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOverTimeByPlugin" "/v2/pipelines/{pipelineID}/metrics": description: | Metrics for a pipeline. parameters: - name: pipelineID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Pipeline metrics operationId: pipelineMetrics tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsSummary" "/v2/pipelines/{pipelineID}/metrics_by_plugin": description: | Metrics for a pipeline organized by plugin. parameters: - name: pipelineID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Pipeline metrics by plugin. operationId: pipelineMetricsByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsByPlugin" "/v2/pipelines/{pipelineID}/metrics_over_time": description: | Metrics over time for a pipeline. parameters: - name: pipelineID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Pipeline metrics over time operationId: pipelineMetricsOverTime tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOvertime" "/v2/pipelines/{pipelineID}/metrics_over_time_by_plugin": description: | Metrics over time for a pipeline. parameters: - name: pipelineID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Pipeline metrics over time organized by plugin operationId: pipelineMetricsOverTimeByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOverTimeByPlugin" "/v2/agents/{agentID}/metrics": description: | Metrics for a agent. parameters: - name: agentID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Agent metrics operationId: agentMetrics tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsSummary" "/v2/agents/{agentID}/metrics_by_plugin": description: | Metrics for a agent organized by plugin. parameters: - name: agentID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h security: - user: [] - project: [] summary: Agent metrics by plugin. operationId: agentMetricsByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsByPlugin" "/v2/agents/{agentID}/metrics_over_time": description: | Metrics over time for a agent. parameters: - name: agentID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Agent metrics over time operationId: agentMetricsOverTime tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOvertime" "/v2/agents/{agentID}/metrics_over_time_by_plugin": description: | Metrics over time for a agent. parameters: - name: agentID in: path required: true schema: type: string format: uuid get: parameters: - name: start required: false in: query description: | Option to filter metrics since the given time ago schema: type: string format: duration default: -24h - name: interval required: false in: query description: | Option to set the time window to group metrics schema: type: string format: duration default: 1h security: - user: [] - project: [] summary: Agent metrics over time organized by plugin operationId: agentMetricsOverTimeByPlugin tags: - metric responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetricsOverTimeByPlugin" /v1/projects/{projectID}/fleets: parameters: - name: projectID in: path required: true schema: type: string format: uuid post: operationId: createFleet summary: Create fleet. description: |- Create a fleet on the given project. Agents can be added later to this fleet and all of them will share the same config. security: - user: [] - project: [] tags: [fleet] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateFleet" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedFleet" get: operationId: fleets summary: Fleets. description: |- List all the fleets within a project. security: - user: [] - project: [] tags: [fleet] parameters: - name: name in: query schema: type: string maxLength: 32 - name: tags_query in: query description: \"AND\" separated query schema: type: string example: dev AND prod - name: last in: query schema: type: integer minimum: 0 - name: before in: query schema: type: string - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. responses: "200": description: OK headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextFleetsPage: operationId: fleets parameters: before: "$response.header.Link#rel=next" content: application/json: schema: type: array items: $ref: "#/components/schemas/Fleet" /v1/projects/{projectID}/fleets/status: parameters: - name: projectID in: path required: true schema: type: string format: uuid get: operationId: fleetsstatus summary: Fleets Status for a Project. description: |- Show the status of all fleets within a project. security: - user: [] - project: [] tags: [fleet] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/FleetsStatus" /v1/fleets/{fleetID}: parameters: - name: fleetID in: path required: true schema: type: string format: uuid get: operationId: fleet summary: Fleet. description: |- Retrieve a single fleet by ID. security: - user: [] - project: [] tags: [fleet] parameters: - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Fleet" patch: operationId: updateFleet summary: Update fleet. description: |- Update a fleet details. security: - user: [] - project: [] tags: [fleet] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateFleet" responses: "200": description: Updated. content: application/json: schema: $ref: "#/components/schemas/UpdatedFleet" delete: operationId: deleteFleet summary: Delete fleet. description: |- Delete a single fleet by its ID. All associated agents will remain but the shared config wil be detached. security: - user: [] - project: [] tags: [fleet] responses: "200": description: Deleted. content: application/json: schema: $ref: "#/components/schemas/DeletedFleet" /v1/fleets/{fleetID}/status: parameters: - name: fleetID in: path required: true schema: type: string format: uuid get: operationId: fleetstatus summary: Fleet Status. description: |- Show the status of all agents within a fleet. security: - user: [] - project: [] tags: [fleet] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/FleetsStatus" /v1/fleets/{fleetID}/config: parameters: - name: fleetID in: path required: true schema: type: string format: uuid get: operationId: fleetConfig summary: get the configuration for a fleet ID. security: - user: [] - project: [] parameters: - schema: type: string enum: - ini - json - yaml in: query name: config_format description: Desired output config format. - schema: type: string enum: - ini - json - yaml in: query name: format deprecated: true description: Desired output config format (depreacted in favour of config_format). tags: [fleet] responses: "200": description: OK content: application/json: schema: type: string application/yaml: schema: type: string text/plain: schema: type: string /v1/fleets/{fleetID}/files: parameters: - name: fleetID description: Unique ID for the Fleet. in: path required: true schema: type: string format: uuid get: operationId: fleetFiles summary: Fleet. description: |- Retrieve the list of fleet files. security: - user: [] - project: [] tags: [fleet] parameters: - name: before description: Fleet files before the given cursor. in: query required: false schema: type: string - name: last description: Last fleet files. in: query required: false schema: type: integer minimum: 0 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/FleetFile" post: operationId: createFleetFile summary: Create Fleet File. description: |- Create a new Fleet File. security: - user: [] - project: [] tags: [fleet] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateFleetFile" responses: "200": description: Updated. content: application/json: schema: $ref: "#/components/schemas/CreatedFleetFile" /v1/fleet_files/{fleetFileID}: parameters: - name: fleetFileID description: UUID of the fleet file. in: path required: true schema: type: string format: uuid get: operationId: fleetFile summary: retrieve a fleet file. description: |- Retrieve a single fleet file with its metadata. security: - user: [] - project: [] tags: [fleet] responses: "200": description: Fleet File. content: application/json: schema: $ref: "#/components/schemas/FleetFile" patch: operationId: updateFleetFile summary: Update fleet file. description: |- Update a fleet file. security: - user: [] - project: [] tags: [fleet] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateFleetFile" responses: "204": description: Updated. delete: operationId: deleteFleetFile summary: Delete fleet file. description: |- Delete a single fleet file by its ID. security: - user: [] - project: [] tags: [fleet] responses: "204": description: Deleted. /v1/search: get: operationId: search summary: Search. description: |- Search different kinds of resources from the API. It returns just the ID and name of the matching resource. Results are sorted by name in ascending order. If you don't provide a search term, all data is returned. security: - user: [] - project: [] parameters: - name: project_id in: query schema: type: string format: uuid - name: resource in: query schema: $ref: "#/components/schemas/SearchResource" - name: term in: query schema: type: string tags: [search] responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/SearchResult" /v1/agents/{agentID}/errors: parameters: - name: agentID in: path required: true schema: type: string format: uuid post: operationId: createAgentError summary: Create agent error description: |- Create a new agent error. This endpoint should be called directly by agents themselves. Notice that if there is an error that matches exactly and has not been dismissed yet since the last time the config was updated, then the error will be simply ignored and not persisted. security: - project: [] tags: [agent_error] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateAgentError" responses: 201: description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedAgentError" get: operationId: agentErrors summary: Agent errors description: |- List all agent errors in descending order with backward pagination. You can optionally filter dismissed or not dismissed errors. security: - user: [] - project: [] tags: [agent_error] parameters: - name: dismissed in: query required: false schema: type: boolean description: Filter agent errors that either were dismissed or were not. - name: last in: query required: false schema: type: integer minimum: 0 description: Last agent errors. - name: before in: query required: false schema: type: string description: Agents errors before the given cursor. responses: 200: description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/AgentError" headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextFleetsPage: operationId: agentErrors parameters: before: "$response.header.Link#rel=next" /v1/fleets/{fleetID}/agent_errors: parameters: - name: fleetID in: path required: true schema: type: string format: uuid get: operationId: fleetAgentErrors summary: Fleet agent errors description: |- List all agent errors from the given fleet in descending order with backward pagination. You can optionally filter dismissed or not dismissed errors. security: - user: [] - project: [] tags: [agent_error] parameters: - name: dismissed in: query required: false schema: type: boolean description: Filter agent errors that either were dismissed or were not. - name: last in: query required: false schema: type: integer minimum: 0 description: Last agent errors. - name: before in: query required: false schema: type: string description: Agents errors before the given cursor. responses: 200: description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/AgentError" headers: Link: schema: type: string example: ; rel="next" description: RFC5988 with `rel="next"`. links: NextFleetsPage: operationId: fleetAgentErrors parameters: before: "$response.header.Link#rel=next" /v1/agent_errors/{agentErrorID}/dismiss: post: operationId: dismissAgentError summary: Dismiss agent error description: |- Dismiss the given agent error. You must pass the reason for dismissal. security: - user: [] - project: [] tags: [agent_error] parameters: - name: agentErrorID in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: "#/components/schemas/DismissAgentError" responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/DismissedAgentError" /v1/aws-customer-redirect: post: operationId: awsCustomerRedirect summary: AWS customer redirect description: |- Redirect a request made from the AWS marketplace to the front-end so the customer can be registered with a selected project. The given AWS token will be decoded and stored for future reference. security: [] tags: [aws_marketplace] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: x-amzn-marketplace-token: type: string minLength: 1 required: [x-amzn-marketplace-token] responses: 302: description: Redirect headers: Location: schema: type: string example: https://core.calyptia.com/aws-customers?amazon_marketplace_token=sample description: |- Front-end page to be redirected. It will include a `amazon_marketplace_token` query string parameter. /v1/projects/{projectID}/aws-contracts: parameters: - name: projectID in: path required: true schema: type: string format: uuid post: operationId: createAWSContractFromToken summary: Create AWS contract from token description: |- This endpoint should be called after being redirected from `awsCustomerRedirect`. The previous redirect should have stored the token for usage. This endpoint attaches the token (and such the customer details) to the selected project. security: - user: [] - project: [] tags: [aws_marketplace] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateAWSContractFromToken" responses: 204: description: No Content /v1/pipelines/{pipelineID}/cluster_object_regexes: parameters: - name: pipelineID in: path required: true schema: type: string format: uuid post: operationId: createClusterObjectRegex summary: Create cluster object regex description: |- Create a new cluster object regex. security: - user: [] - project: [] tags: [cluster_object_regex] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateClusterObjectRegex" responses: 201: description: Created content: application/json: schema: $ref: "#/components/schemas/CreatedClusterObjectRegex" get: operationId: clusterObjectRegexes summary: Cluster object regexes description: |- List all cluster object regexes in descending order with backward pagination. security: - user: [] - project: [] tags: [cluster_object_regex] parameters: - name: last in: query required: false schema: type: integer minimum: 0 description: Last cluster object regexes. - name: before in: query required: false schema: type: string description: Cluster object regexes before the given cursor. responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/ClusterObjectRegexes" /v1/cluster_object_regexes/{regexID}: parameters: - name: regexID in: path required: true schema: type: string format: uuid get: operationId: clusterObjectRegex summary: Cluster object regex description: |- Retrieve a single cluster object regex by ID. On this endpoint, all the matching cluser objects are also returned. security: - user: [] - project: [] tags: [cluster_object_regex] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ClusterObjectRegex" patch: operationId: updateClusterObjectRegex summary: Update cluster object regex description: |- Update a cluster object regex details. security: - user: [] - project: [] tags: [cluster_object_regex] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateClusterObjectRegex" responses: "200": description: Updated. content: application/json: schema: $ref: "#/components/schemas/UpdatedClusterObjectRegex" delete: operationId: deleteClusterObjectRegex summary: Delete cluster object regex description: |- Delete a single cluster object regex by its ID. security: - user: [] - project: [] tags: [cluster_object_regex] responses: "204": description: No Content /v1/projects/{projectID}/processing_rule_templates: parameters: - name: projectID in: path required: true schema: type: string format: uuid post: deprecated: true operationId: createProcessingRuleTemplateV1 summary: Create processing rule template description: |- Create a new processing rule template. security: - user: [] - project: [] tags: [processing_rule_template] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateProcessingRuleTemplateV1" responses: 201: description: Created content: application/json: schema: $ref: "#/components/schemas/Created" get: deprecated: true operationId: processingRuleTemplatesV1 summary: Processing rule templates description: |- List all processing rule templates in descending order with backward pagination. security: - user: [] - project: [] tags: [processing_rule_template] parameters: - name: last in: query required: false schema: type: integer minimum: 0 description: Last processing rule templates. - name: before in: query required: false schema: type: string description: Processing rule templates before the given cursor. - name: name in: query required: false schema: type: string minLength: 1 maxLength: 30 description: Filter processing rule templates by name. responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingRuleTemplatesV1" /v1/processing_rule_templates/{templateID}: parameters: - name: templateID in: path required: true schema: type: string format: uuid patch: deprecated: true operationId: updateProcessingRuleTemplateV1 summary: Update processing rule template description: |- Update a processing rule template details. security: - user: [] - project: [] tags: [processing_rule_template] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateProcessingRuleTemplateV1" responses: "200": description: Updated. content: application/json: schema: $ref: "#/components/schemas/Updated" delete: deprecated: true operationId: deleteProcessingRuleTemplateV1 summary: Delete processing rule template description: |- Delete a single processing rule template by its ID. security: - user: [] - project: [] tags: [processing_rule_template] responses: "200": description: Deleted content: application/json: schema: $ref: "#/components/schemas/Deleted" /v2/validate_fluentbit_config: post: operationId: validateFluentBitConfig summary: Validate Fluent-bit configuration. security: [] tags: [config_validator] requestBody: content: application/json: schema: $ref: "#/components/schemas/ValidateFluentbitConfig" responses: 204: description: No Content /v2/projects/{projectID}/processing_rule_templates: parameters: - name: projectID in: path required: true schema: type: string format: uuid post: operationId: createProcessingRuleTemplate summary: Create processing rule template security: - user: [] - project: [] tags: [processing_rule_template] requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateProcessingRuleTemplate" responses: 201: description: Created content: application/json: schema: $ref: "#/components/schemas/Created" get: operationId: processingRuleTemplates summary: Processing rule templates description: |- List all processing rule templates in descending order with backward pagination. security: - user: [] - project: [] tags: [processing_rule_template] parameters: - name: name in: query required: false schema: type: string minLength: 1 maxLength: 30 description: Filter processing rule templates by name. - name: last in: query required: false schema: type: integer minimum: 0 description: Last processing rule templates. - name: before in: query required: false schema: type: string description: Processing rule templates before the given cursor. responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingRuleTemplates" /v2/processing_rule_templates/{templateID}: parameters: - name: templateID in: path required: true schema: type: string format: uuid get: operationId: processingRuleTemplate summary: Processing rule template security: - user: [] - project: [] tags: [processing_rule_template] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingRuleTemplate" patch: operationId: updateProcessingRuleTemplate summary: Update processing rule template security: - user: [] - project: [] tags: [processing_rule_template] requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateProcessingRuleTemplate" responses: "200": description: Updated. content: application/json: schema: $ref: "#/components/schemas/Updated" delete: operationId: deleteProcessingRuleTemplate summary: Delete processing rule template security: - user: [] - project: [] tags: [processing_rule_template] responses: "200": description: Deleted content: application/json: schema: $ref: "#/components/schemas/Deleted" /v1/projects/{projectID}/saml_mappings: parameters: - name: projectID in: path required: true schema: type: string format: uuid get: operationId: samlMappings summary: SAML Mappings security: - user: [] - project: [] tags: [saml_mapping] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SAMLMappings" post: operationId: createSAMLMapping summary: Create SAML Mapping security: - user: [] - project: [] tags: [saml_mapping] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CreateSAMLMapping" responses: 201: description: Created content: application/json: schema: $ref: "#/components/schemas/Created" /v1/saml_mappings/{id}: parameters: - name: id in: path required: true schema: type: string format: uuid patch: operationId: updateSAMLMapping summary: Update SAML Mapping security: - user: [] - project: [] tags: [saml_mapping] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/UpdateSAMLMapping" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Updated" delete: operationId: deleteSAMLMapping tags: [saml_mapping] summary: Delete SAML Mapping security: - user: [] - project: [] responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/Deleted" /v1/projects/{projectID}/audit_logs: parameters: - name: projectID in: path required: true schema: type: string format: uuid get: operationId: auditLogs summary: Audit Logs security: - user: [] - project: [] tags: [audit_log] parameters: - in: query name: components required: true schema: $ref: "#/components/schemas/AuditLogComponents" - in: query name: identity required: true schema: $ref: "#/components/schemas/AuditLogIdentity" - in: query name: url schema: type: string - in: query name: action schema: type: string enum: - CREATE - UPDATE - DELETE - in: query name: first schema: type: integer - in: query name: after schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AuditLogs"