C1 App Entitlement API
The App Entitlement API from C1 — 11 operation(s) for app entitlement.
The App Entitlement API from C1 — 11 operation(s) for app entitlement.
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