Chef Software ChefIngester API

The ChefIngester API from Chef Software — 6 operation(s) for chefingester.

Operations 6

POST /api/v0/ingest/events/chef/action #
POST /api/v0/ingest/events/chef/liveness #
POST /api/v0/ingest/events/chef/node-multiple-deletes #
POST /api/v0/ingest/events/chef/nodedelete #
POST /api/v0/ingest/events/chef/run #
GET /api/v0/ingest/version #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chef-software-chefingester-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

chef-software-chefingester-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: external/applications/applications.proto ApplicationsService Chef Ingester API
  version: version not set
servers:
- url: https://automate.chef.io/api/v0
tags:
- name: ChefIngester
paths:
  /api/v0/ingest/events/chef/action:
    post:
      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'
      tags:
      - ChefIngester
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.ingest.request.Action'
        required: true
  /api/v0/ingest/events/chef/liveness:
    post:
      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'
      tags:
      - ChefIngester
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.ingest.request.Liveness'
        required: true
  /api/v0/ingest/events/chef/node-multiple-deletes:
    post:
      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'
      tags:
      - ChefIngester
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.ingest.request.MultipleNodeDeleteRequest'
        required: true
  /api/v0/ingest/events/chef/nodedelete:
    post:
      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'
      tags:
      - ChefIngester
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.ingest.request.Delete'
        required: true
  /api/v0/ingest/events/chef/run:
    post:
      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'
      tags:
      - ChefIngester
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.ingest.request.Run'
        required: true
  /api/v0/ingest/version:
    get:
      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'
      tags:
      - ChefIngester
components:
  schemas:
    chef.automate.api.ingest.request.Description:
      type: object
      properties:
        title:
          type: string
        sections:
          type: array
          items:
            type: object
    chef.automate.api.ingest.response.ProcessChefRunResponse:
      type: object
    chef.automate.api.ingest.request.MultipleNodeDeleteRequest:
      type: object
      properties:
        node_ids:
          type: array
          items:
            type: string
    chef.automate.api.ingest.response.ProcessLivenessResponse:
      type: object
    grpc.gateway.runtime.Error:
      type: object
      properties:
        error:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
    chef.automate.api.ingest.request.Error:
      type: object
      properties:
        class:
          type: string
        message:
          type: string
        backtrace:
          type: array
          items:
            type: string
        description:
          $ref: '#/components/schemas/chef.automate.api.ingest.request.Description'
    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.Run:
      type: object
      properties:
        id:
          type: string
          description: '1 through 15 are for frequently occuring fields

            Reserving for shared fields between run_start and run_converge mesages.'
        run_id:
          type: string
        entity_uuid:
          type: string
        message_version:
          type: string
        message_type:
          type: string
        node_name:
          type: string
        organization_name:
          type: string
        start_time:
          type: string
        chef_server_fqdn:
          type: string
        content:
          type: string
          format: byte
          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.'
        end_time:
          type: string
        status:
          type: string
        total_resource_count:
          type: integer
          format: int32
        updated_resource_count:
          type: integer
          format: int32
        source:
          type: string
        expanded_run_list:
          $ref: '#/components/schemas/chef.automate.api.ingest.request.ExpandedRunList'
        resources:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.ingest.request.Resource'
        run_list:
          type: array
          items:
            type: string
        node:
          type: object
        error:
          $ref: '#/components/schemas/chef.automate.api.ingest.request.Error'
        policy_name:
          type: string
        policy_group:
          type: string
        deprecations:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.ingest.request.Deprecation'
        tags:
          type: array
          items:
            type: string
    chef.automate.api.ingest.request.Deprecation:
      type: object
      properties:
        message:
          type: string
        url:
          type: string
        location:
          type: string
    chef.automate.api.ingest.request.Resource:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        id:
          type: string
        after:
          type: object
        before:
          type: object
        duration:
          type: string
        delta:
          type: string
        cookbook_name:
          type: string
        cookbook_version:
          type: string
        status:
          type: string
        recipe_name:
          type: string
        ignore_failure:
          type: object
        conditional:
          type: string
        result:
          type: string
        error:
          $ref: '#/components/schemas/chef.automate.api.ingest.request.Error'
    google.protobuf.Any:
      type: object
      properties:
        type_url:
          type: string
        value:
          type: string
          format: byte
    chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse:
      type: object
    chef.automate.api.ingest.request.Action:
      type: object
      properties:
        id:
          type: string
          title: ID of the action message itself
        message_type:
          type: string
        message_version:
          type: string
        entity_name:
          type: string
        entity_type:
          type: string
        task:
          type: string
        organization_name:
          type: string
        remote_hostname:
          type: string
        run_id:
          type: string
        content:
          type: string
          format: byte
          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.'
        node_id:
          type: string
        recorded_at:
          type: string
        remote_request_id:
          type: string
        request_id:
          type: string
        requestor_name:
          type: string
        requestor_type:
          type: string
        service_hostname:
          type: string
        user_agent:
          type: string
        parent_type:
          type: string
        parent_name:
          type: string
        revision_id:
          type: string
    chef.automate.api.ingest.request.RunList:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        version:
          type: string
        skipped:
          type: boolean
        children:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.ingest.request.RunList'
    chef.automate.api.ingest.response.ProcessNodeDeleteResponse:
      type: object
    chef.automate.api.common.version.VersionInfo:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        sha:
          type: string
        built:
          type: string
    chef.automate.api.ingest.request.Delete:
      type: object
      properties:
        id:
          type: string
          title: ID of the action message itself
        node_name:
          type: string
        organization_name:
          type: string
        remote_hostname:
          type: string
        service_hostname:
          type: string
        node_id:
          type: string
    chef.automate.api.ingest.response.ProcessChefActionResponse:
      type: object
    chef.automate.api.ingest.request.Liveness:
      type: object
      properties:
        event_type:
          type: string
        entity_uuid:
          type: string
        chef_server_fqdn:
          type: string
        source:
          type: string
        message_version:
          type: string
        organization_name:
          type: string
        node_name:
          type: string