ConductorOne User API

The User API from ConductorOne — 5 operation(s) for user.

OpenAPI Specification

conductorone-user-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 User 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: User
paths:
  /api/v1/search/users:
    post:
      description: Search users based on filters specified in the request body.
      operationId: c1.api.user.v1.UserSearch.Search
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.user.v1.SearchUsersRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.user.v1.SearchUsersResponse'
          description: Successful response
      summary: Search
      tags:
      - User
      x-speakeasy-entity-operation:
        terraform-datasource:
        - User#read
        - Users#read
        terraform-resource: null
      x-speakeasy-group: UserSearch
      x-speakeasy-name-override: Search
      x-speakeasy-pagination:
        inputs:
        - in: requestBody
          name: pageToken
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
        type: cursor
  /api/v1/users:
    get:
      description: List users.
      operationId: c1.api.user.v1.UserService.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.user.v1.UserServiceListResponse'
          description: The UserServiceListResponse message contains a list of results and a nextPageToken if applicable.
      summary: List
      tags:
      - User
      x-speakeasy-group: User
      x-speakeasy-name-override: List
  /api/v1/users/{id}:
    get:
      description: Get a user by ID.
      operationId: c1.api.user.v1.UserService.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.user.v1.UserServiceGetResponse'
          description: The UserServiceGetResponse returns a user view which has a user including JSONPATHs to the expanded items in the expanded array.
      summary: Get
      tags:
      - User
      x-speakeasy-group: User
      x-speakeasy-name-override: Get
  /api/v1/users/{user_id}/profile-types:
    get:
      description: Invokes the c1.api.user.v1.UserService.GetUserProfileTypes method.
      operationId: c1.api.user.v1.UserService.GetUserProfileTypes
      parameters:
      - in: path
        name: user_id
        required: true
        schema:
          description: The userId field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.user.v1.GetUserProfileTypesResponse'
          description: Successful response
      summary: Get User Profile Types
      tags:
      - User
      x-speakeasy-group: User
      x-speakeasy-name-override: GetUserProfileTypes
  /api/v1/users/{user_id}/set-delegation-by-admin:
    post:
      description: Invokes the c1.api.user.v1.UserService.SetExpiringUserDelegationBindingByAdmin method.
      operationId: c1.api.user.v1.UserService.SetExpiringUserDelegationBindingByAdmin
      parameters:
      - in: path
        name: user_id
        required: true
        schema:
          description: The userId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.user.v1.SetExpiringUserDelegationBindingByAdminRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.user.v1.SetExpiringUserDelegationBindingByAdminResponse'
          description: Successful response
      summary: Set Expiring User Delegation Binding By Admin
      tags:
      - User
      x-speakeasy-group: User
      x-speakeasy-name-override: SetExpiringUserDelegationBindingByAdmin
components:
  schemas:
    c1.api.user.v1.ExpiringUserDelegationBinding:
      description: The ExpiringUserDelegationBinding message.
      properties:
        createdAt:
          format: date-time
          readOnly: false
          type: string
        delegatedUserId:
          description: The delegatedUserId field.
          readOnly: false
          type: string
        deletedAt:
          format: date-time
          readOnly: false
          type: string
        expirationAt:
          format: date-time
          readOnly: false
          type: string
        startAt:
          format: date-time
          readOnly: false
          type: string
        updatedAt:
          format: date-time
          readOnly: false
          type: string
        userId:
          description: The userId field.
          readOnly: false
          type: string
      title: Expiring User Delegation Binding
      type: object
      x-speakeasy-name-override: ExpiringUserDelegationBinding
    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.user.v1.UserExpandMask:
      description: "The user expand mask is used to indicate which related objects should be expanded in the response.\n The supported paths are 'role_ids', 'manager_ids', 'delegated_user_id', 'directory_ids', and '*'."
      properties:
        paths:
          description: An array of paths to be expanded in the response.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: User Expand Mask
      type: object
      x-speakeasy-name-override: UserExpandMask
    c1.api.user.v1.GetUserProfileTypesResponse:
      description: The GetUserProfileTypesResponse message.
      properties:
        profileTypes:
          description: The profileTypes field.
          items:
            $ref: '#/components/schemas/c1.api.profiletype.v1.ProfileType'
          nullable: true
          readOnly: false
          type: array
      title: Get User Profile Types Response
      type: object
      x-speakeasy-name-override: GetUserProfileTypesResponse
    c1.api.user.v1.UserServiceListResponse:
      description: The UserServiceListResponse message contains a list of results and a nextPageToken if applicable.
      properties:
        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
        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.user.v1.UserView'
          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: User Service List Response
      type: object
      x-speakeasy-name-override: UserServiceListResponse
    c1.api.user.v1.SearchUsersResponse:
      description: The SearchUsersResponse 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
        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.user.v1.UserView'
          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: Search Users Response
      type: object
      x-speakeasy-name-override: SearchUsersResponse
    c1.api.user.v1.UserRef:
      description: A reference to a user.
      properties:
        id:
          description: The id of the user.
          readOnly: false
          type: string
      title: User Ref
      type: object
      x-speakeasy-name-override: UserRef
    c1.api.profiletype.v1.ProfileType:
      description: ProfileType represents a type of profile in the system
      properties:
        description:
          description: The description field.
          readOnly: false
          type: string
        iconUrl:
          description: The iconUrl field.
          readOnly: false
          type: string
        id:
          description: The id field.
          readOnly: false
          type: string
        name:
          description: The name field.
          readOnly: false
          type: string
        priority:
          description: The priority field.
          format: uint32
          readOnly: false
          type: integer
        sizes:
          description: icon sizes
          items:
            format: int32
            type: integer
          nullable: true
          readOnly: false
          type: array
      title: Profile Type
      type: object
      x-speakeasy-name-override: ProfileType
    c1.api.user.v1.SearchUsersRequest:
      description: Search for users based on some filters.
      properties:
        departments:
          description: Search for users that have any of the departments on this list.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        email:
          description: Search for users based on their email (exact match).
          readOnly: false
          type: string
        excludeIds:
          description: An array of users IDs to exclude from the results.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeTypes:
          description: An array of types to exclude from the results.
          items:
            enum:
            - USER_TYPE_UNSPECIFIED
            - USER_TYPE_SYSTEM
            - USER_TYPE_HUMAN
            - USER_TYPE_SERVICE
            - USER_TYPE_AGENT
            type: string
            x-speakeasy-unknown-values: allow
          nullable: true
          readOnly: false
          type: array
        expandMask:
          $ref: '#/components/schemas/c1.api.user.v1.UserExpandMask'
        ids:
          description: Deprecated. Use refs array instead.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        jobTitles:
          description: Search for users that have any of the job titles on this list.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        managerIds:
          description: Search for users that have any of the manager IDs on this list.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        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
        query:
          description: Query the apps with a fuzzy search on display name and emails.
          readOnly: false
          type: string
        refs:
          description: An array of user refs to restrict the return values to by ID.
          items:
            $ref: '#/components/schemas/c1.api.user.v1.UserRef'
          nullable: true
          readOnly: false
          type: array
        roleIds:
          description: Search for users that have any of the role IDs on this list.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        userStatuses:
          description: Search for users that have any of the statuses on this list. This can only be ENABLED, DISABLED, and DELETED
          items:
            enum:
            - UNKNOWN
            - ENABLED
            - DISABLED
            - DELETED
            type: string
            x-speakeasy-unknown-values: allow
          nullable: true
          readOnly: false
          type: array
      title: Search Users Request
      type: object
      x-speakeasy-name-override: SearchUsersRequest
    c1.api.user.v1.UserView:
      description: The UserView object provides a user response object, as well as JSONPATHs to related objects provided by expanders.
      properties:
        delegatedUserPath:
          description: JSONPATH expression indicating the location of the user objects of delegates of the current user in the expanded array.
          readOnly: true
          type: string
        directoriesPath:
          description: JSONPATH expression indicating the location of directory objects in the expanded array.
          readOnly: true
          type: string
        managersPath:
          description: JSONPATH expression indicating the location of the user objects that managed the current user in the expanded array.
          readOnly: true
          type: string
        rolesPath:
          description: JSONPATH expression indicating the location of the roles of the current user in the expanded array.
          readOnly: true
          type: string
        user:
          $ref: '#/components/schemas/c1.api.user.v1.User'
      title: User View
      type: object
      x-speakeasy-name-override: UserView
    c1.api.user.v1.UserServiceGetResponse:
      description: The UserServiceGetResponse returns a user view which has a user including JSONPATHs to the expanded items in the expanded array.
      properties:
        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
        userView:
          $ref: '#/components/schemas/c1.api.user.v1.UserView'
      title: User Service Get Response
      type: object
      x-speakeasy-name-override: UserServiceGetResponse
    c1.api.user.v1.SetExpiringUserDelegationBindingByAdminResponse:
      description: The SetExpiringUserDelegationBindingByAdminResponse message.
      properties:
        item:
          $ref: '#/components/schemas/c1.api.user.v1.ExpiringUserDelegationBinding'
      title: Set Expiring User Delegation Binding By Admin Response
      type: object
      x-speakeasy-name-override: SetExpiringUserDelegationBindingByAdminResponse
    c1.api.user.v1.SetExpiringUserDelegationBindingByAdminRequestInput:
      description: The SetExpiringUserDelegationBindingByAdminRequest message.
      properties:
        delegatedUserId:
          description: The delegatedUserId field.
          readOnly: false
          type: string
        delegationExpireAt:
          format: date-time
          readOnly: false
          type: string
        delegationStartAt:
          format: date-time
          readOnly: false
          type: string
      title: Set Expiring User Delegation Binding By Admin Request
      type: object
      x-speakeasy-name-override: SetExpiringUserDelegationBindingByAdminRequest
  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