openapi: 3.2.0 info: description: '# Authentication The Chef Automate API typically uses an API token passed in the header of your API request.' title: Chef Automate API Documentation Chef Ingester API termsOfService: https://www.chef.io/terms-and-conditions-of-use/ contact: url: https://www.chef.io/support/ email: support@chef.io license: name: Apache 2.0 url: https://github.com/chef/automate/blob/main/LICENSE version: version not set x-logo: altText: Chef logo url: /images/chef-automate-logo.svg servers: - url: https://automate.chef.io tags: - name: ChefIngester x-displayName: Ingest paths: /api/v0/ingest/events/chef/action: post: tags: - ChefIngester operationId: ChefIngester_ProcessChefAction responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.response.ProcessChefActionResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.request.Action' required: true summary: Chef ingester process chef action x-summary-source: derived /api/v0/ingest/events/chef/liveness: post: tags: - ChefIngester operationId: ChefIngester_ProcessLivenessPing responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.response.ProcessLivenessResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.request.Liveness' required: true summary: Chef ingester process liveness ping x-summary-source: derived /api/v0/ingest/events/chef/node-multiple-deletes: post: tags: - ChefIngester operationId: ChefIngester_ProcessMultipleNodeDeletes responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.request.MultipleNodeDeleteRequest' required: true summary: Chef ingester process multiple node deletes x-summary-source: derived /api/v0/ingest/events/chef/nodedelete: post: tags: - ChefIngester operationId: ChefIngester_ProcessNodeDelete responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.response.ProcessNodeDeleteResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.request.Delete' required: true summary: Chef ingester process node delete x-summary-source: derived /api/v0/ingest/events/chef/run: post: tags: - ChefIngester operationId: ChefIngester_ProcessChefRun responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.response.ProcessChefRunResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.ingest.request.Run' required: true summary: Chef ingester process chef run x-summary-source: derived /api/v0/ingest/version: get: tags: - ChefIngester operationId: ChefIngester_GetVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/chef.automate.api.common.version.VersionInfo' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/grpc.gateway.runtime.Error' summary: Chef ingester get version x-summary-source: derived components: schemas: chef.automate.api.ingest.response.ProcessNodeDeleteResponse: type: object grpc.gateway.runtime.Error: type: object properties: code: type: integer format: int32 details: type: array items: $ref: '#/components/schemas/google.protobuf.Any' error: type: string message: type: string chef.automate.api.common.version.VersionInfo: type: object properties: built: type: string name: type: string sha: type: string version: type: string chef.automate.api.ingest.request.Resource: type: object properties: after: type: object before: type: object conditional: type: string cookbook_name: type: string cookbook_version: type: string delta: type: string duration: type: string error: $ref: '#/components/schemas/chef.automate.api.ingest.request.Error' id: type: string ignore_failure: type: object name: type: string recipe_name: type: string result: type: string status: type: string type: type: string chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse: type: object chef.automate.api.ingest.request.RunList: type: object properties: children: type: array items: $ref: '#/components/schemas/chef.automate.api.ingest.request.RunList' name: type: string skipped: type: boolean type: type: string version: type: string chef.automate.api.ingest.request.ExpandedRunList: type: object properties: id: type: string run_list: type: array items: $ref: '#/components/schemas/chef.automate.api.ingest.request.RunList' chef.automate.api.ingest.request.Liveness: type: object properties: chef_server_fqdn: type: string entity_uuid: type: string event_type: type: string message_version: type: string node_name: type: string organization_name: type: string source: type: string chef.automate.api.ingest.request.Deprecation: type: object properties: location: type: string message: type: string url: type: string google.protobuf.Any: type: object properties: type_url: type: string value: type: string format: byte chef.automate.api.ingest.request.MultipleNodeDeleteRequest: type: object properties: node_ids: type: array items: type: string chef.automate.api.ingest.request.Error: type: object properties: backtrace: type: array items: type: string class: type: string description: $ref: '#/components/schemas/chef.automate.api.ingest.request.Description' message: type: string chef.automate.api.ingest.response.ProcessChefRunResponse: type: object chef.automate.api.ingest.request.Delete: type: object properties: id: type: string title: ID of the action message itself node_id: type: string node_name: type: string organization_name: type: string remote_hostname: type: string service_hostname: type: string chef.automate.api.ingest.response.ProcessLivenessResponse: type: object chef.automate.api.ingest.response.ProcessChefActionResponse: type: object chef.automate.api.ingest.request.Action: type: object properties: content: description: 'This new field called ''content'' is being used to send the entire raw JSON message in bytes, this field is heavily used by the gateway for the DataCollector Func Handler that will send the Action message to the (receiver) ingest-service that will manually unmarshal the message from this field if it is provided. The main purpose of this field it to improve the performance of ingestion when the requests comes in REST/HTTP format.' type: string format: byte entity_name: type: string entity_type: type: string id: type: string title: ID of the action message itself message_type: type: string message_version: type: string node_id: type: string organization_name: type: string parent_name: type: string parent_type: type: string recorded_at: type: string remote_hostname: type: string remote_request_id: type: string request_id: type: string requestor_name: type: string requestor_type: type: string revision_id: type: string run_id: type: string service_hostname: type: string task: type: string user_agent: type: string chef.automate.api.ingest.request.Run: type: object properties: chef_server_fqdn: type: string content: description: 'This new field called ''content'' is being used to send the entire raw JSON message in bytes, this field is heavily used by the gateway for the DataCollector Func Handler that will send the Run message to the (receiver) ingest-service that will manually unmarshal the message from this field if it is provided. The main purpose of this field it to improve the performance of ingestion when the requests comes in REST/HTTP format.' type: string format: byte deprecations: type: array items: $ref: '#/components/schemas/chef.automate.api.ingest.request.Deprecation' end_time: type: string entity_uuid: type: string error: $ref: '#/components/schemas/chef.automate.api.ingest.request.Error' expanded_run_list: $ref: '#/components/schemas/chef.automate.api.ingest.request.ExpandedRunList' id: description: '1 through 15 are for frequently occuring fields Reserving for shared fields between run_start and run_converge mesages.' type: string message_type: type: string message_version: type: string node: type: object node_name: type: string organization_name: type: string policy_group: type: string policy_name: type: string resources: type: array items: $ref: '#/components/schemas/chef.automate.api.ingest.request.Resource' run_id: type: string run_list: type: array items: type: string source: type: string start_time: type: string status: type: string tags: type: array items: type: string total_resource_count: type: integer format: int32 updated_resource_count: type: integer format: int32 chef.automate.api.ingest.request.Description: type: object properties: sections: type: array items: type: object title: type: string securitySchemes: APIToken: description: Authenticate with the Automate API using an API Token. type: apiKey name: api-token in: header x-tagGroups: - name: Compliance tags: - ReportingService - StatsService - JobsService - ProfilesService - Comp_Assets - name: Report Manager tags: - ReportManagerService - name: Infra tags: - ConfigMgmt - InfraProxy - name: Ingest tags: - ChefIngester - JobScheduler - name: Node Management tags: - NodeManagerService - NodesService - name: Event Feed tags: - EventFeedService - name: Secrets tags: - SecretsService - name: Applications tags: - service_groups - retention - ApplicationsService - name: Data Feed tags: - DatafeedService - name: Data Lifecycle tags: - DataLifecycle - name: Notifications tags: - Notifications - name: Content Delivery tags: - Cds - name: Audit and Settings tags: - UserSettingsService - name: System tags: - Gateway - Deployment - License - Telemetry - LegacyDataCollector - name: Identity tags: - users - teams - tokens - name: Access Management tags: - policies - roles - projects - rules - Authorization