Chef Software ProfilesService API

The ProfilesService API from Chef Software — 5 operation(s) for profilesservice.

Operations 5

GET /api/v0/compliance/market/read/{name}/version/{version} Show an available profile #
POST /api/v0/compliance/profiles/metasearch Check if one or multiple profiles exist in the metadata database. #
GET /api/v0/compliance/profiles/read/{owner}/{name}/version/{version} Show an installed profile #
POST /api/v0/compliance/profiles/search List all available profiles #
DELETE /api/v0/compliance/profiles/{owner}/{name}/version/{version} Delete an installed profile #

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-profilesservice-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-profilesservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: external/applications/applications.proto ApplicationsService Profiles Service API
  version: version not set
servers:
- url: https://automate.chef.io/api/v0
tags:
- name: ProfilesService
paths:
  /api/v0/compliance/market/read/{name}/version/{version}:
    get:
      summary: Show an available profile
      description: 'Show the details of an un-installed profile using the profile name and version.

        in the UI, these are the profiles under the "Available" tab.

        These profiles are created and maintained by Chef, shipped with Chef Automate.



        Authorization Action:

        ```

        compliance:marketProfiles:get

        ```'
      operationId: ProfilesService_ReadFromMarket
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Profile'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      parameters:
      - name: name
        description: Name of the profile.
        in: path
        required: true
        schema:
          type: string
      - name: version
        description: Version of the profile.
        in: path
        required: true
        schema:
          type: string
      - name: owner
        description: Automate user associated with the profile.
        in: query
        required: false
        schema:
          type: string
      tags:
      - ProfilesService
  /api/v0/compliance/profiles/metasearch:
    post:
      summary: Check if one or multiple profiles exist in the metadata database.
      description: 'The endpoint takes an array of compliance profile sha256 IDs and returns the ones that the backend

        doesn''t have metadata (profile title, copyright, controls title, code, tags, etc) for.

        This is useful when deciding if a compliance report can be sent for ingestion without the associated profile metadata.


        Authorization Action:

        ```

        compliance:profiles:list

        ```'
      operationId: ProfilesService_MetaSearch
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Missing'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      tags:
      - ProfilesService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Sha256'
        required: true
  /api/v0/compliance/profiles/read/{owner}/{name}/version/{version}:
    get:
      summary: Show an installed profile
      description: 'Show the details of an installed profile given the profile name, owner (Automate user associated with the profile), and version.



        Authorization Action:

        ```

        compliance:profiles:get

        ```'
      operationId: ProfilesService_Read
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Profile'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      parameters:
      - name: owner
        description: Automate user associated with the profile.
        in: path
        required: true
        schema:
          type: string
      - name: name
        description: Name of the profile.
        in: path
        required: true
        schema:
          type: string
      - name: version
        description: Version of the profile.
        in: path
        required: true
        schema:
          type: string
      tags:
      - ProfilesService
  /api/v0/compliance/profiles/search:
    post:
      summary: List all available profiles
      description: 'Lists all profiles available for the Automate instance.

        Empty params return all "market" profiles.

        Specifying the `owner` field returns all profiles installed for the specified user.


        Supports pagination, sorting, and filtering (wildcard supported).


        Supported sort fields: title, name (default: title)

        Supported filter fields: name, version, title


        Example:

        ```

        {

        "filters":[

        {"type": "title", "values": [ "Dev*"]}

        ],

        "page": 1,

        "per_page": 3,

        "owner": "admin"

        }

        ```



        Authorization Action:

        ```

        compliance:profiles:list

        ```'
      operationId: ProfilesService_List
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Profiles'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      tags:
      - ProfilesService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Query'
        required: true
  /api/v0/compliance/profiles/{owner}/{name}/version/{version}:
    delete:
      summary: Delete an installed profile
      description: 'Delete an installed profile given the profile name, owner (Automate user associated with the profile), and version.

        Note: this action "uninstalls" the profile. This has no impact on the market profiles.



        Authorization Action:

        ```

        compliance:profiles:delete

        ```'
      operationId: ProfilesService_Delete
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                properties: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      parameters:
      - name: owner
        description: Automate user associated with the profile.
        in: path
        required: true
        schema:
          type: string
      - name: name
        description: Name of the profile.
        in: path
        required: true
        schema:
          type: string
      - name: version
        description: Version of the profile.
        in: path
        required: true
        schema:
          type: string
      tags:
      - ProfilesService
components:
  schemas:
    chef.automate.api.compliance.profiles.v1.Query:
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.ListFilter'
          title: Filters to apply to the query
        order:
          $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Query.OrderType'
          description: Order in which to sort. Defaults to ASC.
        sort:
          type: string
          description: Field on which to sort.
        page:
          type: integer
          format: int32
          description: Page of results requested.
        per_page:
          type: integer
          format: int32
          description: Number of results to return per page.
        owner:
          type: string
          description: Automate user associated with the profile.
        name:
          type: string
          description: Name of the profile (as defined in `inspec.yml`).
        version:
          type: string
          description: Version of the profile (as defined in `inspec.yml`).
    chef.automate.api.compliance.profiles.v1.Dependency:
      type: object
      properties:
        name:
          type: string
          description: Name of the profile.
        url:
          type: string
          description: URL of the profile.
        path:
          type: string
          description: Path of the profile.
        git:
          type: string
          description: Git location of the profile.
        branch:
          type: string
          description: Branch of the profile.
        tag:
          type: string
          description: Tag associated with the profile.
        commit:
          type: string
          description: Commit sha for the profile.
        version:
          type: string
          description: Version of the profile.
        supermarket:
          type: string
          description: Supermarket address of the profile.
        github:
          type: string
          description: Github address of the profile.
        compliance:
          type: string
          description: Automate address of the profile.
    chef.automate.api.compliance.profiles.v1.Support:
      type: object
      properties:
        os_name:
          type: string
          description: OS name supported by the profile.
        os_family:
          type: string
          description: OS family supported by the profile.
        release:
          type: string
          description: OS release supported by the profile.
        inspec_version:
          type: string
          description: Minimum InSpec version required for the profile.
        platform:
          type: string
          description: Platform supported by the profile.
    chef.automate.api.compliance.profiles.v1.Profile:
      type: object
      properties:
        name:
          type: string
          title: The profile name, as specified in the inspec.yml
        title:
          type: string
          title: The profile title, as specified in the inspec.yml
        maintainer:
          type: string
          title: The profile maintainer, as specified in the inspec.yml
        copyright:
          type: string
          title: The profile copyright, as specified in the inspec.yml
        copyright_email:
          type: string
          title: The profile copyright email, as specified in the inspec.yml
        license:
          type: string
          title: The profile license, as specified in the inspec.yml
        summary:
          type: string
          title: The profile summary, as specified in the inspec.yml
        version:
          type: string
          title: The profile version, as specified in the inspec.yml
        owner:
          type: string
          description: The Automate user associated with the profile.
        supports:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Support'
          title: The list of operating systems compatible with the profile, as specified in the inspec.yml
        depends:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Dependency'
          title: The list of dependencies the profile has, as specified in the inspec.yml
        sha256:
          type: string
          description: The SHA256 of the profile.
        groups:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Group'
        controls:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Control'
          description: The list of controls in the profile.
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Attribute'
          description: The list of attributes in the profile.
        latest_version:
          type: string
          description: The latest version of the profile.
    chef.automate.api.compliance.profiles.v1.ListFilter:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
          description: List of values to filter on.
        type:
          type: string
          description: The field to filter on.
    chef.automate.api.compliance.profiles.v1.SourceLocation:
      type: object
      properties:
        ref:
          type: string
        line:
          type: integer
          format: int32
    chef.automate.api.compliance.profiles.v1.Attribute:
      type: object
      properties:
        name:
          type: string
        options:
          $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Option'
    chef.automate.api.compliance.profiles.v1.Missing:
      type: object
      properties:
        missing_sha256:
          type: array
          items:
            type: string
          description: An array of profile sha256 IDs that are missing from the backend metadata store.
    google.protobuf.Any:
      type: object
      properties:
        type_url:
          type: string
        value:
          type: string
          format: byte
    chef.automate.api.compliance.profiles.v1.Sha256:
      type: object
      properties:
        sha256:
          type: array
          items:
            type: string
          description: An array of profile sha256 IDs.
    chef.automate.api.compliance.profiles.v1.Query.OrderType:
      type: string
      enum:
      - ASC
      - DESC
      default: ASC
    chef.automate.api.compliance.profiles.v1.Control:
      type: object
      properties:
        id:
          type: string
          description: The ID of the control.
        code:
          type: string
          description: The code (test) for the control.
        desc:
          type: string
          description: The description of the control.
        impact:
          type: number
          format: float
          description: The impact of the control.
        title:
          type: string
          description: The title of the control.
        source_location:
          $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.SourceLocation'
          description: Intentionally blank.
        results:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Result'
          description: The results of the control tests.
        refs:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Ref'
          description: The refs associated with the control.
        tags:
          type: object
          additionalProperties:
            type: string
          description: The tags associated with the control.
    chef.automate.api.compliance.profiles.v1.Group:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        controls:
          type: array
          items:
            type: string
    chef.automate.api.compliance.profiles.v1.Option:
      type: object
      properties:
        description:
          type: string
        default:
          type: string
    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.compliance.profiles.v1.Profiles:
      type: object
      properties:
        profiles:
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.compliance.profiles.v1.Profile'
          description: List of profiles matching the query.
        total:
          type: integer
          format: int32
          description: Total count of profiles matching the query.
    chef.automate.api.compliance.profiles.v1.Result:
      type: object
      properties:
        status:
          type: string
          description: Status of the test results (passed, failed, skipped).
        code_desc:
          type: string
          description: The code (test) executed.
        run_time:
          type: number
          format: float
          description: The amount of time it took to execute the test.
        start_time:
          type: string
          description: The time the test started.
        message:
          type: string
          description: The failure message.
        skip_message:
          type: string
          description: Reason for skipping the test.
    chef.automate.api.compliance.profiles.v1.Ref:
      type: object
      properties:
        url:
          type: string
          description: URL of the ref.
        ref:
          type: string
          description: Ref for the control.