> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-baton-kubernetes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Grant Feed

> Search a chronological feed of grant and revoke events, filtered by app user, entitlement, or time range.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/grants/feed
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/grants/feed:
    post:
      tags:
        - App Entitlement User Binding Feed
      summary: Search Grant Feed
      description: >-
        Search a chronological feed of grant and revoke events, filtered by app
        user, entitlement, or time range.
      operationId: c1.api.app.v1.AppEntitlementUserBindingService.SearchGrantFeed
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.SearchGrantFeedRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.SearchGrantFeedResponse'
          description: >-
            The SearchGrantFeedResponse message contains a list of grant event
            results and a nextPageToken if applicable.
      x-codeSamples:
        - lang: go
          label: SearchGrantFeed
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.AppEntitlementUserBinding.SearchGrantFeed(ctx, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.SearchGrantFeedResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.appEntitlementUserBinding.searchGrantFeed();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.SearchGrantFeedRequest:
      description: The SearchGrantFeedRequest message.
      properties:
        after:
          format: date-time
          type:
            - string
            - 'null'
        appEntitlementRefs:
          description: The list of app entitlements to limit the search to.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementRef'
          type:
            - array
            - 'null'
        appRefs:
          description: The list of apps to limit the search to.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppRef'
          type:
            - array
            - 'null'
        appUserRefs:
          description: The list of app users to limit the search to.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppUserRef'
          type:
            - array
            - 'null'
        before:
          format: date-time
          type:
            - string
            - 'null'
        expandMask:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.app.v1.AppEntitlementUserBindingExpandHistoryMask
            - type: 'null'
        pageSize:
          description: The pageSize where 10 <= pageSize <= 100, default 25.
          format: int32
          type:
            - integer
            - 'null'
        pageToken:
          description: The page_token field for pagination.
          type:
            - string
            - 'null'
        userRefs:
          description: The list of C1 users to limit the search to.
          items:
            $ref: '#/components/schemas/c1.api.user.v1.UserRef'
          type:
            - array
            - 'null'
      title: Search Grant Feed Request
      type: object
      x-speakeasy-name-override: SearchGrantFeedRequest
    c1.api.app.v1.SearchGrantFeedResponse:
      description: >-
        The SearchGrantFeedResponse message contains a list of grant event
        results and a nextPageToken if applicable.
      properties:
        expanded:
          description: The expanded field.
          items:
            additionalProperties: true
            description: >-
              Contains an arbitrary serialized message along with a @type that
              describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            type: object
          type:
            - array
            - 'null'
        list:
          description: >-
            The list of results containing up to X results, where X is the page
            size defined in the request.
          items:
            $ref: >-
              #/components/schemas/c1.api.app.v1.AppEntitlementUserBindingFeedView
          type:
            - array
            - 'null'
        nextPageToken:
          description: >-
            The nextPageToken is shown for the next page if the number of
            results is larger than the max page size.
             The server returns one page of results and the nextPageToken until all results are retrieved.
             To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page.
          type:
            - string
            - 'null'
      title: Search Grant Feed Response
      type: object
      x-speakeasy-name-override: SearchGrantFeedResponse
    c1.api.app.v1.AppEntitlementRef:
      description: The AppEntitlementRef message.
      properties:
        appId:
          description: The appId field.
          type:
            - string
            - 'null'
        id:
          description: The id field.
          type:
            - string
            - 'null'
      title: App Entitlement Ref
      type: object
      x-speakeasy-name-override: AppEntitlementRef
    c1.api.app.v1.AppRef:
      description: The AppRef message.
      properties:
        id:
          description: The id field.
          type:
            - string
            - 'null'
      title: App Ref
      type: object
      x-speakeasy-name-override: AppRef
    c1.api.app.v1.AppUserRef:
      description: The AppUserRef message.
      properties:
        appId:
          description: The ID of the application.
          type:
            - string
            - 'null'
        id:
          description: The ID of the app user.
          type:
            - string
            - 'null'
      title: App User Ref
      type: object
      x-speakeasy-name-override: AppUserRef
    c1.api.app.v1.AppEntitlementUserBindingExpandHistoryMask:
      description: The AppEntitlementUserBindingExpandHistoryMask message.
      properties:
        paths:
          description: The paths field.
          items:
            type: string
          type:
            - array
            - 'null'
      title: App Entitlement User Binding Expand History Mask
      type: object
      x-speakeasy-name-override: AppEntitlementUserBindingExpandHistoryMask
    c1.api.user.v1.UserRef:
      description: A reference to a user.
      properties:
        id:
          description: The id of the user.
          type:
            - string
            - 'null'
      title: User Ref
      type: object
      x-speakeasy-name-override: UserRef
    c1.api.app.v1.AppEntitlementUserBindingFeedView:
      description: The AppEntitlementUserBindingFeedView message.
      properties:
        appPath:
          description: The appPath field.
          type:
            - string
            - 'null'
        appUserPath:
          description: The appUserPath field.
          type:
            - string
            - 'null'
        entitlementPath:
          description: The entitlementPath field.
          type:
            - string
            - 'null'
        feed:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementUserBindingFeed'
            - type: 'null'
        ticketPath:
          description: The ticketPath field.
          type:
            - string
            - 'null'
      title: App Entitlement User Binding Feed View
      type: object
      x-speakeasy-name-override: AppEntitlementUserBindingFeedView
    c1.api.app.v1.AppEntitlementUserBindingFeed:
      description: The AppEntitlementUserBindingFeed message.
      properties:
        appEntitlementId:
          description: The ID of the app entitlement that the app user has access to
          type:
            - string
            - 'null'
        appId:
          description: The ID of the app associated with the app entitlement
          type:
            - string
            - 'null'
        appUserId:
          description: The ID of the app user that has access to the app entitlement
          type:
            - string
            - 'null'
        date:
          format: date-time
          type:
            - string
            - 'null'
        eventType:
          description: The eventType field.
          enum:
            - GRANT_EVENT_TYPE_UNSPECIFIED
            - GRANT_EVENT_TYPE_ADDED
            - GRANT_EVENT_TYPE_REMOVED
          type:
            - string
            - 'null'
          x-speakeasy-unknown-values: allow
        ticketId:
          description: The ticketId field.
          type:
            - string
            - 'null'
      title: App Entitlement User Binding Feed
      type: object
      x-speakeasy-name-override: AppEntitlementUserBindingFeed
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````