openapi: 3.1.0 info: description: The ConductorOne API is a HTTP API for managing ConductorOne resources. title: ConductorOne Access Conflict App 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 paths: /api/v1/apps: get: description: List all apps. operationId: c1.api.app.v1.Apps.List parameters: - 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.ListAppsResponse' description: The ListAppsResponse message contains a list of results and a nextPageToken if applicable. summary: List tags: - App x-speakeasy-group: Apps x-speakeasy-name-override: List post: description: Create a new manual app without a connector. operationId: c1.api.app.v1.Apps.Create requestBody: content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.CreateAppRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.CreateAppResponse' description: Returns the new app's values. summary: Create tags: - App x-speakeasy-entity-operation: terraform-resource: App#create x-speakeasy-group: Apps x-speakeasy-name-override: Create /api/v1/apps/{id}: delete: description: Delete an app. operationId: c1.api.app.v1.Apps.Delete parameters: - 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.DeleteAppRequestInput' responses: '200': content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.DeleteAppResponse' description: Empty response body. Status code indicates success. summary: Delete tags: - App x-speakeasy-entity-operation: terraform-resource: App#delete x-speakeasy-group: Apps x-speakeasy-name-override: Delete get: description: Get an app by ID. operationId: c1.api.app.v1.Apps.Get parameters: - 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.GetAppResponse' description: The GetAppResponse message contains the details of the requested app in the app field. summary: Get tags: - App x-speakeasy-entity-operation: terraform-datasource: null terraform-resource: App#read x-speakeasy-group: Apps x-speakeasy-name-override: Get post: description: Update an existing app. operationId: c1.api.app.v1.Apps.Update parameters: - in: path name: id required: true schema: description: The ID of the app. readOnly: true type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.UpdateAppRequestInput' responses: '200': content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.UpdateAppResponse' description: Returns the updated app's new values. summary: Update tags: - App x-speakeasy-entity-operation: terraform-resource: App#update x-speakeasy-group: Apps x-speakeasy-name-override: Update /api/v1/search/apps: post: description: Search apps based on filters specified in the request body. operationId: c1.api.app.v1.AppSearch.Search requestBody: content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.SearchAppsRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/c1.api.app.v1.SearchAppsResponse' description: The SearchAppsResponse message contains a list of results and a nextPageToken if applicable. summary: Search tags: - App x-speakeasy-entity-operation: terraform-datasource: - App#read - Apps#read terraform-resource: null x-speakeasy-group: AppSearch x-speakeasy-name-override: Search x-speakeasy-pagination: inputs: - in: requestBody name: pageToken type: cursor outputs: nextCursor: $.nextPageToken type: cursor components: schemas: c1.api.user.v1.User: description: The User object provides all of the details for an user, as well as some configuration. properties: createdAt: format: date-time readOnly: true type: string delegatedUserId: description: The id of the user to whom tasks will be automatically reassigned to. readOnly: false type: string deletedAt: format: date-time readOnly: true type: string department: description: The department which the user belongs to in the organization. readOnly: true type: string departmentSources: description: A list of objects mapped based on department attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array directoryIds: description: A list of unique ids that represent different directories. items: type: string nullable: true readOnly: true type: array directoryStatus: description: The status of the user in the directory. enum: - UNKNOWN - ENABLED - DISABLED - DELETED readOnly: true type: string x-speakeasy-unknown-values: allow directoryStatusSources: description: A list of objects mapped based on directoryStatus attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array displayName: description: The display name of the user. readOnly: true type: string email: description: This is the user's email. readOnly: true type: string emailSources: description: A list of source data for the email attribute. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array emails: description: This is a list of all of the user's emails from app users. items: type: string nullable: true readOnly: true type: array employeeIdSources: description: A list of source data for the employee IDs attribute. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array employeeIds: description: This is a list of all of the user's employee IDs from app users. items: type: string nullable: true readOnly: true type: array employmentStatus: description: The users employment status. readOnly: true type: string employmentStatusSources: description: A list of objects mapped based on employmentStatus attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array employmentType: description: The employment type of the user. readOnly: true type: string employmentTypeSources: description: A list of objects mapped based on employmentType attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array id: description: A unique identifier of the user. readOnly: true type: string jobTitle: description: The job title of the user. readOnly: true type: string jobTitleSources: description: A list of objects mapped based on jobTitle attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array managerIds: description: A list of ids of the user's managers. items: type: string nullable: true readOnly: true type: array managerSources: description: A list of objects mapped based on managerId attribute mappings configured in the system. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array profile: additionalProperties: true readOnly: true type: object roleIds: description: A list of unique identifiers that maps to ConductorOne's user roles let you assign users permissions tailored to the work they do in the software. items: type: string nullable: true readOnly: false type: array status: description: The status of the user in the system. enum: - UNKNOWN - ENABLED - DISABLED - DELETED readOnly: false type: string x-speakeasy-unknown-values: allow type: description: The type of the user. enum: - USER_TYPE_UNSPECIFIED - USER_TYPE_SYSTEM - USER_TYPE_HUMAN - USER_TYPE_SERVICE - USER_TYPE_AGENT readOnly: true type: string x-speakeasy-unknown-values: allow updatedAt: format: date-time readOnly: true type: string username: description: This is the user's primary username. Typically sourced from the primary directory. readOnly: true type: string usernameSources: description: A list of source data for the usernames attribute. items: $ref: '#/components/schemas/c1.api.user.v1.UserAttributeMappingSource' nullable: true readOnly: true type: array usernames: description: This is a list of all of the user's usernames from app users. items: type: string nullable: true readOnly: true type: array title: User type: object x-speakeasy-name-override: User 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.GetAppResponse: description: The GetAppResponse message contains the details of the requested app in the app field. properties: app: $ref: '#/components/schemas/c1.api.app.v1.App' title: Get App Response type: object x-speakeasy-name-override: GetAppResponse c1.api.app.v1.DeleteAppResponse: description: Empty response body. Status code indicates success. title: Delete App Response type: object x-speakeasy-name-override: DeleteAppResponse c1.api.app.v1.CreateAppRequest: description: The CreateAppRequest message is used to create a new app. properties: certifyPolicyId: description: Creates the app with this certify policy. readOnly: false type: string description: description: Creates the app with this description. readOnly: false type: string displayName: description: Creates the app with this display name. readOnly: false type: string grantPolicyId: description: Creates the app with this grant policy. readOnly: false type: string identityMatching: description: Define the app user identity matching strategy for this app. enum: - APP_USER_IDENTITY_MATCHING_UNSPECIFIED - APP_USER_IDENTITY_MATCHING_STRICT - APP_USER_IDENTITY_MATCHING_DISPLAY_NAME readOnly: false type: string x-speakeasy-unknown-values: allow monthlyCostUsd: description: Creates the app with this monthly cost per seat. format: int32 readOnly: false type: integer owners: description: Creates the app with this array of owners. items: type: string nullable: true readOnly: false type: array revokePolicyId: description: Creates the app with this revoke policy. readOnly: false type: string strictAccessEntitlementProvisioning: description: This flag enforces a provisioning mode where the access entitlement is always included in the provisioning flow, if the app user doesn't exist readOnly: false type: boolean required: - displayName title: Create App Request type: object x-speakeasy-entity: App x-speakeasy-name-override: CreateAppRequest c1.api.app.v1.App: description: The App object provides all of the details for an app, as well as some configuration. properties: appAccountId: description: The ID of the Account named by AccountName. readOnly: true type: string appAccountName: description: The AccountName of the app. For example, AWS is AccountID, Github is Org Name, and Okta is Okta Subdomain. readOnly: true type: string appOwners: description: The owners of the app. items: $ref: '#/components/schemas/c1.api.user.v1.User' nullable: true readOnly: true type: array certifyPolicyId: description: The ID of the Certify Policy associated with this App. readOnly: false type: string connectorVersion: description: The connectorVersion field. format: uint32 readOnly: false type: integer createdAt: format: date-time readOnly: true type: string defaultRequestCatalogId: description: The ID for the default request catalog for this app. readOnly: false type: string deletedAt: format: date-time readOnly: true type: string description: description: The app's description. readOnly: false type: string displayName: description: The app's display name. readOnly: false type: string fieldMask: nullable: true readOnly: true type: string grantPolicyId: description: The ID of the Grant Policy associated with this App. readOnly: false type: string iconUrl: description: The URL of an icon to display for the app. readOnly: false type: string id: description: The ID of the app. readOnly: true type: string identityMatching: description: The identityMatching field. enum: - APP_USER_IDENTITY_MATCHING_UNSPECIFIED - APP_USER_IDENTITY_MATCHING_STRICT - APP_USER_IDENTITY_MATCHING_DISPLAY_NAME readOnly: false type: string x-speakeasy-unknown-values: allow instructions: description: If you add instructions here, they will be shown to users in the access request form when requesting access for this app. readOnly: false type: string isDirectory: description: Specifies if the app is a directory. readOnly: true type: boolean isManuallyManaged: description: The isManuallyManaged field. readOnly: false type: boolean logoUri: description: The URL of a logo to display for the app. readOnly: true type: string monthlyCostUsd: description: The cost of an app per-seat, so that total cost can be calculated by the grant count. format: int32 readOnly: false type: integer parentAppId: description: The ID of the app that created this app, if any. readOnly: true type: string revokePolicyId: description: The ID of the Revoke Policy associated with this App. readOnly: false type: string strictAccessEntitlementProvisioning: description: The strictAccessEntitlementProvisioning field. readOnly: false type: boolean updatedAt: format: date-time readOnly: true type: string userCount: description: The number of users with grants to this app. format: int64 readOnly: true type: string title: App type: object x-speakeasy-entity: App x-speakeasy-name-override: App c1.api.app.v1.SearchAppsResponse: description: The SearchAppsResponse message contains a list of results and a nextPageToken if applicable. properties: 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.App' 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.\n The server returns one page of results and the nextPageToken until all results are retreived.\n 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: Search Apps Response type: object x-speakeasy-name-override: SearchAppsResponse c1.api.app.v1.SearchAppsRequest: description: Search Apps by a few properties. properties: appIds: description: A list of app IDs to restrict the search to. items: type: string nullable: true readOnly: false type: array displayName: description: Search for apps with a case insensitive match on the display name. readOnly: false type: string excludeAppIds: description: A list of app IDs to remove from the results. items: type: string nullable: true readOnly: false type: array onlyDirectories: description: Only return apps which are directories readOnly: false type: boolean pageSize: description: The pageSize where 0 <= pageSize <= 100. Values < 10 will be set to 10. A value of 0 returns the default page size (currently 25) format: int32 readOnly: false type: integer pageToken: description: The pageToken field. readOnly: false type: string policyRefs: description: Search for apps that use any of these policies. items: $ref: '#/components/schemas/c1.api.policy.v1.PolicyRef' nullable: true readOnly: false type: array query: description: Query the apps with a fuzzy search on display name and description. readOnly: false type: string title: Search Apps Request type: object x-speakeasy-name-override: SearchAppsRequest c1.api.policy.v1.PolicyRef: description: The PolicyRef message. properties: id: description: The id field. readOnly: false type: string title: Policy Ref type: object x-speakeasy-name-override: PolicyRef c1.api.app.v1.ListAppsResponse: description: The ListAppsResponse message contains a list of results and a nextPageToken if applicable. properties: 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.App' 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.\n The server returns one page of results and the nextPageToken until all results are retreived.\n 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: List Apps Response type: object x-speakeasy-name-override: ListAppsResponse c1.api.app.v1.UpdateAppRequestInput: description: The UpdateAppRequest message contains the app to update and the fields to update. properties: app: $ref: '#/components/schemas/c1.api.app.v1.App' updateMask: nullable: true readOnly: false type: string title: Update App Request type: object x-speakeasy-name-override: UpdateAppRequest c1.api.app.v1.UpdateAppResponse: description: Returns the updated app's new values. properties: app: $ref: '#/components/schemas/c1.api.app.v1.App' title: Update App Response type: object x-speakeasy-name-override: UpdateAppResponse c1.api.app.v1.DeleteAppRequestInput: description: Empty request body title: Delete App Request type: object x-speakeasy-entity: App x-speakeasy-name-override: DeleteAppRequest c1.api.app.v1.CreateAppResponse: description: Returns the new app's values. properties: app: $ref: '#/components/schemas/c1.api.app.v1.App' title: Create App Response type: object x-speakeasy-name-override: CreateAppResponse 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