> ## Documentation Index
> Fetch the complete documentation index at: https://acai.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# List implementation features

> Return a summary list of Features that are visible to a given Implementation.
These features may be defined in specs that were pushed directly to that Implementation, or inherited from a parent Implementation.
The response is a summary list of features, containing some metadata and a summary of code references. This is useful to quickly identify features that may have changed or are missing references.




## OpenAPI

````yaml /openapi.json get /implementation-features
openapi: 3.0.0
info:
  description: >-
    Acai is an API for spec-driven development across git branches and product
    implementations. Specs store canonical requirement definitions, refs store
    where code on a branch appears to implement those requirements, and states
    store implementation-specific progress such as completed, blocked, or
    accepted. Agents typically discover an implementation, read canonical
    feature context, sync branch-derived changes, and then record status updates
    separately.
  title: Acai API
  version: 1.0.0
servers:
  - description: API v1
    url: http://localhost:4000/api/v1
    variables: {}
security:
  - bearerAuth: []
tags:
  - description: >-
      Endpoints for syncing branch-derived truth, resolving canonical feature
      context, discovering implementation work, and recording
      implementation-specific progress. The API keeps specs and refs separate
      from status updates so agents can read shared requirements, push observed
      code changes, and write progress without mixing those concerns.
    name: Actions
paths:
  /implementation-features:
    get:
      tags:
        - Actions
      summary: List implementation features
      description: >
        Return a summary list of Features that are visible to a given
        Implementation.

        These features may be defined in specs that were pushed directly to that
        Implementation, or inherited from a parent Implementation.

        The response is a summary list of features, containing some metadata and
        a summary of code references. This is useful to quickly identify
        features that may have changed or are missing references.
      operationId: AcaiWeb.Api.ImplementationFeaturesController.index
      parameters:
        - description: Product name
          in: query
          name: product_name
          required: true
          schema:
            type: string
        - description: Implementation name
          in: query
          name: implementation_name
          required: true
          schema:
            type: string
        - description: >-
            Repeated status filter values; the literal string `null` means a
            null status
          in: query
          name: statuses
          required: false
          schema:
            items:
              type: string
            type: array
        - description: Filter by feature's last_seen_commit (simple equality)
          in: query
          name: changed_since_commit
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImplementationFeaturesResponse'
          description: Implementation features
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Validation error
      callbacks: {}
      security:
        - bearerAuth: []
components:
  schemas:
    ImplementationFeaturesResponse:
      properties:
        data:
          allOf:
            - properties:
                features:
                  items:
                    allOf:
                      - properties:
                          completed_count:
                            type: integer
                          description:
                            nullable: true
                            type: string
                          feature_name:
                            type: string
                          has_local_spec:
                            type: boolean
                          has_local_states:
                            type: boolean
                          refs_count:
                            type: integer
                          refs_inherited:
                            type: boolean
                          spec_last_seen_commit:
                            nullable: true
                            type: string
                          states_inherited:
                            type: boolean
                          test_refs_count:
                            type: integer
                          total_count:
                            type: integer
                        required:
                          - feature_name
                          - description
                          - completed_count
                          - total_count
                          - refs_count
                          - test_refs_count
                          - has_local_spec
                          - has_local_states
                          - spec_last_seen_commit
                          - states_inherited
                          - refs_inherited
                        title: ImplementationFeatureEntry
                        type: object
                  type: array
                implementation_id:
                  type: string
                implementation_name:
                  type: string
                product_name:
                  type: string
              required:
                - product_name
                - implementation_name
                - implementation_id
                - features
              title: ImplementationFeaturesData
              type: object
      required:
        - data
      title: ImplementationFeaturesResponse
      type: object
    ErrorResponse:
      properties:
        errors:
          properties:
            detail:
              type: string
            status:
              type: string
          required:
            - detail
          type: object
      required:
        - errors
      title: ErrorResponse
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API token
      scheme: bearer
      type: http

````