C1

C1 App Entitlement API

The App Entitlement API from C1 — 11 operation(s) for app entitlement.

OpenAPI Specification

c1-app-entitlement-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: The ConductorOne API is a HTTP API for managing ConductorOne resources.
  title: ConductorOne Access Conflict App Entitlement API
  version: 0.1.0-alpha
servers:
- description: The ConductorOne 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: []
tags:
- name: App Entitlement
paths:
  /api/v1/apps/{app_id}/entitlements:
    get:
      description: List app entitlements associated with an app.
      operationId: c1.api.app.v1.AppEntitlements.List
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ListAppEntitlementsResponse'
          description: The ListAppEntitlementsResponse message contains a list of results and a nextPageToken if applicable.
      summary: List
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: List
    post:
      description: Invokes the c1.api.app.v1.AppEntitlements.Create method.
      operationId: c1.api.app.v1.AppEntitlements.Create
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.CreateAppEntitlementRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.CreateAppEntitlementResponse'
          description: Successful response
      summary: Create
      tags:
      - App Entitlement
      x-speakeasy-entity-operation:
        terraform-resource: Custom App Entitlement#create
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: Create
  /api/v1/apps/{app_id}/entitlements/{app_entitlement_id}/add-manual-user:
    post:
      description: Invokes the c1.api.app.v1.AppEntitlements.AddManuallyManagedMembers method.
      operationId: c1.api.app.v1.AppEntitlements.AddManuallyManagedMembers
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_entitlement_id
        required: true
        schema:
          description: The appEntitlementId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.AddManuallyManagedUsersRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ManuallyManagedUsersResponse'
          description: Successful response
      summary: Add Manually Managed Members
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: AddManuallyManagedMembers
  /api/v1/apps/{app_id}/entitlements/{app_entitlement_id}/grants:
    get:
      description: Search app entitlements, include app users, users, expires, discovered.
      operationId: c1.api.app.v1.AppEntitlementSearchService.SearchAppEntitlementsWithExpired
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_entitlement_id
        required: true
        schema:
          description: The appEntitlementId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.SearchAppEntitlementsWithExpiredResponse'
          description: The SearchAppEntitlementsWithExpiredResponse message contains a list of results and a nextPageToken if applicable.
      summary: Search App Entitlements With Expired
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlementSearch
      x-speakeasy-name-override: SearchAppEntitlementsWithExpired
  /api/v1/apps/{app_id}/entitlements/{app_entitlement_id}/remove-membership:
    delete:
      description: Invokes the c1.api.app.v1.AppEntitlements.RemoveEntitlementMembership method.
      operationId: c1.api.app.v1.AppEntitlements.RemoveEntitlementMembership
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_entitlement_id
        required: true
        schema:
          description: The appEntitlementId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.RemoveEntitlementMembershipRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.RemoveEntitlementMembershipResponse'
          description: Successful response
      summary: Remove Entitlement Membership
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: RemoveEntitlementMembership
  /api/v1/apps/{app_id}/entitlements/{app_entitlement_id}/users:
    get:
      deprecated: true
      description: List the users, as AppEntitlementUsers objects, of an app entitlement.
      operationId: c1.api.app.v1.AppEntitlements.ListUsers
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_entitlement_id
        required: true
        schema:
          description: The appEntitlementId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ListAppEntitlementUsersResponse'
          description: The ListAppEntitlementUsersResponse message contains a list of results and a nextPageToken if applicable.
      summary: List Users
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: ListUsers
  /api/v1/apps/{app_id}/entitlements/{id}:
    delete:
      description: Invokes the c1.api.app.v1.AppEntitlements.Delete method.
      operationId: c1.api.app.v1.AppEntitlements.Delete
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: id
        required: true
        schema:
          description: The id field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.DeleteAppEntitlementRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.DeleteAppEntitlementResponse'
          description: Successful response
      summary: Delete
      tags:
      - App Entitlement
      x-speakeasy-entity-operation:
        terraform-resource: Custom App Entitlement#delete
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: Delete
    get:
      description: Get an app entitlement by ID.
      operationId: c1.api.app.v1.AppEntitlements.Get
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: id
        required: true
        schema:
          description: The id field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.GetAppEntitlementResponse'
          description: The get app entitlement response returns an entitlement view containing paths in the expanded array for the objects expanded as indicated by the expand mask in the request.
      summary: Get
      tags:
      - App Entitlement
      x-speakeasy-entity-operation:
        terraform-datasource: null
        terraform-resource: Custom App Entitlement#read
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: Get
    post:
      description: Update an app entitlement by ID.
      operationId: c1.api.app.v1.AppEntitlements.Update
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The ID of the app that is associated with the app entitlement.
          readOnly: false
          type: string
      - in: path
        name: id
        required: true
        schema:
          description: The unique ID for the App Entitlement.
          readOnly: true
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.UpdateAppEntitlementRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.UpdateAppEntitlementResponse'
          description: Successful response
      summary: Update
      tags:
      - App Entitlement
      x-speakeasy-entity-operation:
        terraform-resource: Custom App Entitlement#update
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: Update
  /api/v1/apps/{app_id}/entitlements/resource_types/{app_resource_type_id}/resources/{app_resource_id}:
    get:
      description: List app entitlements associated with an app resource.
      operationId: c1.api.app.v1.AppEntitlements.ListForAppResource
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_resource_type_id
        required: true
        schema:
          description: The appResourceTypeId field.
          readOnly: false
          type: string
      - in: path
        name: app_resource_id
        required: true
        schema:
          description: The appResourceId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ListAppEntitlementsResponse'
          description: The ListAppEntitlementsResponse message contains a list of results and a nextPageToken if applicable.
      summary: List For App Resource
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: ListForAppResource
  /api/v1/apps/{app_id}/entitlements/users/{app_user_id}:
    get:
      description: List app entitlements associated with an app user.
      operationId: c1.api.app.v1.AppEntitlements.ListForAppUser
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_user_id
        required: true
        schema:
          description: The appUserId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ListAppEntitlementsResponse'
          description: The ListAppEntitlementsResponse message contains a list of results and a nextPageToken if applicable.
      summary: List For App User
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlements
      x-speakeasy-name-override: ListForAppUser
  /api/v1/search/apps/{app_id}/entitlements/users/{app_user_id}:
    get:
      description: Invokes the c1.api.app.v1.AppEntitlementSearchService.SearchAppEntitlementsForAppUser method.
      operationId: c1.api.app.v1.AppEntitlementSearchService.SearchAppEntitlementsForAppUser
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      - in: path
        name: app_user_id
        required: true
        schema:
          description: The appUserId field.
          readOnly: false
          type: string
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.ListAppEntitlementsResponse'
          description: The ListAppEntitlementsResponse message contains a list of results and a nextPageToken if applicable.
      summary: Search App Entitlements For App User
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlementSearch
      x-speakeasy-name-override: SearchAppEntitlementsForAppUser
  /api/v1/search/entitlements:
    post:
      description: Search app entitlements based on filters specified in the request body.
      operationId: c1.api.app.v1.AppEntitlementSearchService.Search
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementSearchServiceSearchRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementSearchServiceSearchResponse'
          description: Successful response
      summary: Search
      tags:
      - App Entitlement
      x-speakeasy-entity-operation:
        terraform-datasource:
        - App Entitlement#read
        - App Entitlements#read
        terraform-resource: null
      x-speakeasy-group: AppEntitlementSearch
      x-speakeasy-name-override: Search
      x-speakeasy-pagination:
        inputs:
        - in: requestBody
          name: pageToken
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
        type: cursor
  /api/v1/search/grants:
    post:
      description: Invokes the c1.api.app.v1.AppEntitlementSearchService.SearchGrants method.
      operationId: c1.api.app.v1.AppEntitlementSearchService.SearchGrants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementSearchServiceSearchGrantsRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementSearchServiceSearchGrantsResponse'
          description: Successful response
      summary: Search Grants
      tags:
      - App Entitlement
      x-speakeasy-group: AppEntitlementSearch
      x-speakeasy-name-override: SearchGrants
components:
  schemas:
    c1.api.policy.v1.DelegatedProvision:
      description: This provision step indicates that we should delegate provisioning to the configuration of another app entitlement. This app entitlement does not have to be one from the same app, but MUST be configured as a proxy binding leading into this entitlement.
      nullable: true
      properties:
        appId:
          description: The AppID of the entitlement to delegate provisioning to.
          readOnly: false
          type: string
        entitlementId:
          description: The ID of the entitlement we are delegating provisioning to.
          readOnly: false
          type: string
        implicit:
          description: If true, a binding will be automatically created from the entitlement of the parent app.
          readOnly: false
          type: boolean
      title: Delegated Provision
      type: object
      x-speakeasy-name-override: DelegatedProvision
    c1.api.app.v1.GetAppEntitlementResponse:
      description: The get app entitlement response returns an entitlement view containing paths in the expanded array for the objects expanded as indicated by the expand mask in the request.
      properties:
        appEntitlementView:
          $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementView'
        expanded:
          description: List of serialized related objects.
          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
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: Get App Entitlement Response
      type: object
      x-speakeasy-name-override: GetAppEntitlementResponse
    c1.api.app.v1.AppUserStatus:
      description: The satus of the applicaiton user.
      properties:
        details:
          description: The details of applicaiton user status.
          readOnly: true
          type: string
        status:
          description: The application user status field.
          enum:
          - STATUS_UNSPECIFIED
          - STATUS_ENABLED
          - STATUS_DISABLED
          - STATUS_DELETED
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
      title: App User Status
      type: object
      x-speakeasy-name-override: AppUserStatus
    c1.api.app.v1.DeleteAppEntitlementRequestInput:
      description: The DeleteAppEntitlementRequest message.
      title: Delete App Entitlement Request
      type: object
      x-speakeasy-name-override: DeleteAppEntitlementRequest
    c1.api.search.v1.FacetCategory:
      description: "The FacetCategory indicates a grouping of facets by type. For example, facets \"OnePassword\" and \"Okta\" would group under an \"Apps\" category.\n\nThis message contains a oneof named item. Only a single field of the following list may be set at a time:\n  - value\n  - range\n"
      properties:
        displayName:
          description: The display name of the category.
          readOnly: false
          type: string
        iconUrl:
          description: An icon for the category.
          readOnly: false
          type: string
        param:
          description: The param that is being set when checking a facet in this category.
          readOnly: false
          type: string
        range:
          $ref: '#/components/schemas/c1.api.search.v1.FacetRangeItem'
        value:
          $ref: '#/components/schemas/c1.api.search.v1.FacetValueItem'
      title: Facet Category
      type: object
      x-speakeasy-name-override: FacetCategory
    c1.api.user.v1.UserAttributeMappingSource:
      description: The UserAttributeMappingSource message.
      properties:
        appId:
          description: The appId field.
          readOnly: false
          type: string
        appUserId:
          description: The appUserId field.
          readOnly: false
          type: string
        appUserProfileAttributeKey:
          description: The appUserProfileAttributeKey field.
          readOnly: false
          type: string
        userAttributeMappingId:
          description: The userAttributeMappingId field.
          readOnly: false
          type: string
        value:
          description: The value field.
          readOnly: false
          type: string
      title: User Attribute Mapping Source
      type: object
      x-speakeasy-name-override: UserAttributeMappingSource
    c1.api.app.v1.AppEntitlement:
      description: "The app entitlement represents one permission in a downstream App (SAAS) that can be granted. For example, GitHub Read vs GitHub Write.\n\nThis message contains a oneof named max_grant_duration. Only a single field of the following list may be set at a time:\n  - durationUnset\n  - durationGrant\n"
      properties:
        alias:
          description: The alias of the app entitlement used by Cone. Also exact-match queryable.
          readOnly: false
          type: string
        appId:
          description: The ID of the app that is associated with the app entitlement.
          readOnly: false
          type: string
        appResourceId:
          description: The ID of the app resource that is associated with the app entitlement
          readOnly: false
          type: string
        appResourceTypeId:
          description: The ID of the app resource type that is associated with the app entitlement
          readOnly: false
          type: string
        certifyPolicyId:
          description: The ID of the policy that will be used for certify tickets related to the app entitlement.
          readOnly: false
          type: string
        complianceFrameworkValueIds:
          description: The IDs of different compliance frameworks associated with this app entitlement ex (SOX, HIPAA, PCI, etc.)
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        createdAt:
          format: date-time
          readOnly: true
          type: string
        defaultValuesApplied:
          description: Flag to indicate if app-level access request defaults have been applied to the entitlement
          readOnly: false
          type: boolean
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        deprovisionerPolicy:
          $ref: '#/components/schemas/c1.api.policy.v1.ProvisionPolicy'
        description:
          description: The description of the app entitlement.
          readOnly: false
          type: string
        displayName:
          description: The display name of the app entitlement.
          readOnly: false
          type: string
        durationGrant:
          format: duration
          readOnly: false
          type: string
        durationUnset:
          nullable: true
          readOnly: false
          type: object
        emergencyGrantEnabled:
          description: This enables tasks to be created in an emergency and use a selected emergency access policy.
          readOnly: false
          type: boolean
        emergencyGrantPolicyId:
          description: The ID of the policy that will be used for emergency access grant tasks.
          readOnly: false
          type: string
        grantCount:
          description: The amount of grants open for this entitlement
          format: int64
          readOnly: true
          type: string
        grantPolicyId:
          description: The ID of the policy that will be used for grant tickets related to the app entitlement.
          readOnly: false
          type: string
        id:
          description: The unique ID for the App Entitlement.
          readOnly: true
          type: string
        isAutomationEnabled:
          description: Flag to indicate whether automation (for adding users to entitlement based on rules) has been enabled.
          readOnly: true
          type: boolean
        isManuallyManaged:
          description: Flag to indicate if the app entitlement is manually managed.
          readOnly: false
          type: boolean
        matchBatonId:
          description: The matchBatonId field.
          readOnly: false
          type: string
        overrideAccessRequestsDefaults:
          description: Flag to indicate if the app-level access request settings have been overridden for the entitlement
          readOnly: false
          type: boolean
        provisionerPolicy:
          $ref: '#/components/schemas/c1.api.policy.v1.ProvisionPolicy'
        purpose:
          description: The purpose field.
          enum:
          - APP_ENTITLEMENT_PURPOSE_VALUE_UNSPECIFIED
          - APP_ENTITLEMENT_PURPOSE_VALUE_ASSIGNMENT
          - APP_ENTITLEMENT_PURPOSE_VALUE_PERMISSION
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        requestSchemaId:
          description: The ID of the request schema associated with this app entitlement.
          readOnly: false
          type: string
        revokePolicyId:
          description: The ID of the policy that will be used for revoke tickets related to the app entitlement
          readOnly: false
          type: string
        riskLevelValueId:
          description: The riskLevelValueId field.
          readOnly: false
          type: string
        slug:
          description: The slug is displayed as an oval next to the name in the frontend of C1, it tells you what permission the entitlement grants. See https://www.conductorone.com/docs/product/admin/entitlements/
          readOnly: false
          type: string
        sourceConnectorIds:
          additionalProperties:
            type: string
          description: Map to tell us which connector the entitlement came from.
          readOnly: false
          type: object
        systemBuiltin:
          description: This field indicates if this is a system builtin entitlement.
          readOnly: true
          type: boolean
        updatedAt:
          format: date-time
          readOnly: true
          type: string
        userEditedMask:
          nullable: true
          readOnly: false
          type: string
      title: App Entitlement
      type: object
      x-speakeasy-entity: Custom App Entitlement
      x-speakeasy-name-override: AppEntitlement
    c1.api.policy.v1.ConnectorProvision.DoNotSave:
      description: The DoNotSave message.
      nullable: true
      title: Do Not Save
      type: object
      x-speakeasy-name-override: DoNotSave
    c1.api.search.v1.FacetRangeItem:
      description: The FacetRangeItem message.
      nullable: true
      properties:
        ranges:
          description: An array of facet ranges.
          items:
            $ref: '#/components/schemas/c1.api.search.v1.FacetRange'
          nullable: true
          readOnly: false
          type: array
      title: Facet Range Item
      type: object
      x-speakeasy-name-override: FacetRangeItem
    c1.api.app.v1.UpdateAppEntitlementResponse:
      description: The UpdateAppEntitlementResponse message.
      properties:
        appEntitlementView:
          $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementView'
        expanded:
          description: List of related objects
          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
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: Update App Entitlement Response
      type: object
      x-speakeasy-name-override: UpdateAppEntitlementResponse
    c1.api.app.v1.AppEntitlementWithExpired:
      description: The AppEntitlementWithExpired message.
      properties:
        appEntitlementId:
          description: The appEntitlementId field.
          readOnly: false
          type: string
        appId:
          description: The appId field.
          readOnly: false
          type: string
        appUser:
          $ref: '#/components/schemas/c1.api.app.v1.AppUser'
        appUserId:
          description: The appUserId field.
          readOnly: false
          type: string
        discovered:
          format: date-time
          readOnly: false
          type: string
        expired:
          format: date-time
          readOnly: false
          type: string
        grantReasons:
          description: The grantReasons field.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.GrantReason'
          nullable: true
          readOnly: false
          type: array
        grantSources:
          description: The grantSources field.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementRef'
          nullable: true
          readOnly: false
          type: array
        user:
          $ref: '#/components/schemas/c1.api.user.v1.User'
      title: App Entitlement With Expired
      type: object
      x-speakeasy-name-override: AppEntitlementWithExpired
    c1.api.app.v1.AppEntitlementSearchServiceSearchResponse:
      description: The AppEntitlementSearchServiceSearchResponse message.
      properties:
        expanded:
          description: List of related objects.
          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
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
        facets:
          $ref: '#/components/schemas/c1.api.search.v1.Facets'
        list:
          description: List of app entitlement view objects.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementView'
          nullable: true
          readOnly: false
          type: array
        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 retreived. To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page.
          readOnly: false
          type: string
      title: App Entitlement Search Service Search Resp

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/c1/refs/heads/main/openapi/c1-app-entitlement-api-openapi.yml