Chili Piper User API

The user API from Chili Piper — 4 operation(s) for user.

OpenAPI Specification

chili-piper-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chili Piper User API
  version: '1.0'
  description: 'Operations tagged user across 14 of this provider''s published API definitions: chili-piper-availability-inspector-openapi.yaml, chili-piper-chat-conversation-inspector-openapi.yaml, chili-piper-concierge-debugger-openapi.yaml, chili-piper-concierge-router-builder-openapi.yaml, chili-piper-concierge-router-configuration-openapi.yaml, chili-piper-distribution-analysis-openapi.yaml, chili-piper-handoff-router-configuration-openapi.yaml, chili-piper-no-show-analyzer-openapi.yaml, chili-piper-org-meeting-openapi.yaml, chili-piper-scheduling-link-management-openapi.yaml, chili-piper-user-copy-openapi.yaml, chili-piper-user-details-openapi.yaml, chili-piper-user-meetings-openapi.yaml, chili-piper-user-offboarding-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://fire.chilipiper.com/api/fire-edge
  description: Production
security:
- apiKeyAuth: []
tags:
- name: user
paths:
  /v1/org/user/find:
    servers:
    - url: https://fire.chilipiper.com/api/fire-edge
      description: Production
    get:
      tags:
      - user
      summary: Finds user
      description: '[operation: user-find]




        READ-ONLY




        Searches users by free-text query matched against email and name (partial matches supported). Paginated.


        - query (req): partial email or name


        - page (opt), pageSize (opt, default 200)


        → paginated list of users, each with: {id, name, email, isSuperAdmin, licenses, workspaces, salesforce (opt), hubspot (opt), slug (opt), managedWorkspaces, managedTeams}


        see: user-read (full profile), user-find-by-ids (batch by ID), user-find-by-filter (advanced multi-field filtering)'
      operationId: userFind
      parameters:
      - name: query
        in: query
        description: Search by email or name
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: Page number. First page has index 0.
        required: false
        schema:
          default: 0
          type: integer
          format: int64
          minimum: 0
        example: 0
      - name: pageSize
        in: query
        description: Number of items per page. Maximum is 50
        required: false
        schema:
          default: 10
          type: integer
          format: int64
          exclusiveMinimum: 0
        example: 10
      responses:
        '200':
          description: ''
          headers:
            Cache-Control:
              required: true
              schema:
                type: string
            X-Robots-Tag:
              required: true
              schema:
                type: string
            Pragma:
              required: true
              schema:
                type: string
            Expires:
              required: true
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_User'
        '400':
          description: 'Invalid value for: query parameter query, Invalid value for: query parameter page, Invalid value for: query parameter pageSize'
          content:
            text/plain:
              schema:
                type: string
        default:
          description: ''
          headers:
            Location:
              required: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - errorCode
                - errorMessage
                properties:
                  errorCode:
                    type: string
                  errorMessage:
                    type: string
                  arguments:
                    $ref: '#/components/schemas/Map_String'
      security:
      - apiKeyAuth: []
      X-Chili-Required-Permissions:
      - user.read
  /v1/org/user/read/{userId}:
    servers:
    - url: https://fire.chilipiper.com/api/fire-edge
      description: Production
    get:
      tags:
      - user
      summary: Reads user information
      description: "[operation: user-read]\n\n\n\nREAD-ONLY\n\n\n\nFetches full profile for a single user by userId.\n\n- userId (req): UUID\n\n→\n\n    {id, name, email, isSuperAdmin, licenses, workspaces (set of workspaceIds), salesforce: {email, id} (opt), hubspot: {email, id} (opt), slug (opt), managedWorkspaces, managedTeams}\n\n  Note: top-level field is id (not userId); workspaces (not workspaceMemberships); salesforce is an object {email, id} (not a string salesforceId)\n\nsee: user-find (look up userId by email/name), user-find-by-ids (batch fetch), user-update-licenses/workspace-add-users/team-add-users (act on user)"
      operationId: userRead
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
          pattern: '[^\s\\/]+'
      responses:
        '200':
          description: ''
          headers:
            Cache-Control:
              required: true
              schema:
                type: string
            X-Robots-Tag:
              required: true
              schema:
                type: string
            Pragma:
              required: true
              schema:
                type: string
            Expires:
              required: true
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: 'Invalid value for: path parameter userId'
          content:
            text/plain:
              schema:
                type: string
        default:
          description: ''
          headers:
            Location:
              required: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - errorCode
                - errorMessage
                properties:
                  errorCode:
                    type: string
                  errorMessage:
                    type: string
                  arguments:
                    $ref: '#/components/schemas/Map_String'
      security:
      - apiKeyAuth: []
      X-Chili-Required-Permissions:
      - user.read
  /v1/org/user/find-by-id:
    servers:
    - url: https://fire.chilipiper.com/api/fire-edge
      description: Production
    post:
      tags:
      - user
      summary: Finds users by IDs
      description: '[operation: user-find-by-ids]




        READ-ONLY




        Batch-fetches full profiles for a known set of userIds in one request — the id-list counterpart to user-read. The body is a bare JSON array of userId UUIDs (e.g. ["uuid1", "uuid2"]), not wrapped in an object.


        → paginated list of users, each with: {id, name, email, isSuperAdmin, licenses, workspaces, salesforce: {email, id} (opt), hubspot: {email, id} (opt), slug (opt), managedWorkspaces, managedTeams}


        see: user-find/find-by-filter (look up userIds), user-update-licenses/team-add-users/workspace-add-users (act on results)'
      operationId: userFindByIds
      parameters:
      - name: page
        in: query
        description: Page number. First page has index 0.
        required: false
        schema:
          default: 0
          type: integer
          format: int64
          minimum: 0
        example: 0
      - name: pageSize
        in: query
        description: Number of items per page. Maximum is 50
        required: false
        schema:
          default: 10
          type: integer
          format: int64
          exclusiveMinimum: 0
        example: 10
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                pattern: '[^\s\\/]+'
        required: false
      responses:
        '200':
          description: ''
          headers:
            Cache-Control:
              required: true
              schema:
                type: string
            X-Robots-Tag:
              required: true
              schema:
                type: string
            Pragma:
              required: true
              schema:
                type: string
            Expires:
              required: true
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_User_2'
        '400':
          description: 'Invalid value for: query parameter page, Invalid value for: query parameter pageSize, Invalid value for: body'
          content:
            text/plain:
              schema:
                type: string
        default:
          description: ''
          headers:
            Location:
              required: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - errorCode
                - errorMessage
                properties:
                  errorCode:
                    type: string
                  errorMessage:
                    type: string
                  arguments:
                    $ref: '#/components/schemas/Map_String'
      security:
      - apiKeyAuth: []
      X-Chili-Required-Permissions:
      - user.read
  /v1/org/user/licenses:
    servers:
    - url: https://fire.chilipiper.com/api/fire-edge
      description: Production
    post:
      tags:
      - user
      summary: Updates licenses for users
      description: "[operation: user-update-licenses]\n\n\n\nMUTATING — IDEMPOTENT\n\n\n\nBulk-updates CP product licenses for one or more users. Unlisted users are unaffected.\n\n- update (req): [{userId, licenseType}]; valid types: Distro, ChiliCalOrg, Concierge, ConciergeLive, Chat, Handoff; use user-find for userIds\n\n→\n\n    {}\n\n⚠ downgrade takes effect immediately (disables gated features); fails if org lacks sufficient seats\n\nsee: user-find/find-by-ids (resolve userIds and verify after)"
      operationId: userUpdateLicenses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLicensesRequest'
        required: true
      responses:
        '200':
          description: ''
          headers:
            Cache-Control:
              required: true
              schema:
                type: string
            X-Robots-Tag:
              required: true
              schema:
                type: string
            Pragma:
              required: true
              schema:
                type: string
            Expires:
              required: true
              schema:
                type: string
        '400':
          description: 'Invalid value for: body'
          content:
            text/plain:
              schema:
                type: string
        default:
          description: ''
          headers:
            Location:
              required: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - errorCode
                - errorMessage
                properties:
                  errorCode:
                    type: string
                  errorMessage:
                    type: string
                  arguments:
                    $ref: '#/components/schemas/Map_String'
      security:
      - apiKeyAuth: []
      X-Chili-Required-Permissions:
      - licenses.modify
components:
  schemas:
    NoTimezone:
      title: NoTimezone
      type: object
      required:
      - type
      properties:
        type:
          type: string
          const: NoTimezone
    Map_String:
      title: Map_String
      type: object
      additionalProperties:
        type: string
    Map_Refined_String_Refinement_V:
      title: Map_Refined_String_Refinement_V
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AvailabilityFailure'
    User:
      title: User
      type: object
      required:
      - id
      - name
      - email
      - isSuperAdmin
      - licenses
      properties:
        id:
          $ref: '#/components/schemas/UserId'
        name:
          type: string
          minLength: 1
        email:
          $ref: '#/components/schemas/Email'
        isSuperAdmin:
          type: boolean
        managedWorkspaces:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        managedTeams:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        licenses:
          $ref: '#/components/schemas/UserLicenses'
        salesforce:
          $ref: '#/components/schemas/SalesforceUser'
        hubspot:
          $ref: '#/components/schemas/HubspotUser'
        slug:
          type: string
          pattern: '[-0-9a-z_]+'
        workspaces:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        personalWorkspaceId:
          type: string
          pattern: '[^\s\\/]+'
    UserLicenses:
      title: UserLicenses
      type: object
      required:
      - distro
      - chiliCalOrg
      - concierge
      - conciergeLive
      - chat
      - handoff
      properties:
        distro:
          type: boolean
        chiliCalOrg:
          type: boolean
        concierge:
          type: boolean
        conciergeLive:
          type: boolean
        chat:
          type: boolean
        handoff:
          type: boolean
    PaginatedResult_User:
      title: PaginatedResult_User
      type: object
      required:
      - total
      - page
      - pageSize
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/User'
        total:
          type: integer
          format: int64
        page:
          type: integer
          format: int64
          minimum: 0
        pageSize:
          type: integer
          format: int64
          exclusiveMinimum: 0
    PaginatedResult_User_2:
      title: PaginatedResult_User
      type: object
      required:
      - total
      - page
      - pageSize
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/User1'
        total:
          type: integer
          format: int64
        page:
          type: integer
          format: int64
          minimum: 0
        pageSize:
          type: integer
          format: int64
          exclusiveMinimum: 0
    User1:
      title: User
      type: object
      required:
      - id
      - name
      - email
      - isSuperAdmin
      - licenses
      properties:
        id:
          $ref: '#/components/schemas/UserId'
        name:
          type: string
          minLength: 1
        email:
          $ref: '#/components/schemas/Email'
        isSuperAdmin:
          type: boolean
        managedWorkspaces:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        managedTeams:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        licenses:
          $ref: '#/components/schemas/UserLicenses_2'
        salesforce:
          $ref: '#/components/schemas/SalesforceUser'
        hubspot:
          $ref: '#/components/schemas/HubspotUser'
        slug:
          type: string
          pattern: '[-0-9a-z_]+'
        workspaces:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '[^\s\\/]+'
        personalWorkspaceId:
          type: string
          pattern: '[^\s\\/]+'
    SalesforceUser:
      title: SalesforceUser
      type: object
      required:
      - email
      - id
      properties:
        email:
          $ref: '#/components/schemas/Email'
        id:
          type: string
          pattern: '[^\s\\/]+'
    Tier:
      title: Tier
      type: string
      enum:
      - RoutingAndScheduling
      - Experiences
      - ChiliDataPlatform
    UserLicenses_2:
      title: UserLicenses
      type: object
      required:
      - chiliCalOrg
      - handoff
      properties:
        distro:
          type: boolean
        chiliCalOrg:
          type: boolean
        concierge:
          type: boolean
        conciergeLive:
          type: boolean
        chat:
          type: boolean
        handoff:
          type: boolean
        tier:
          $ref: '#/components/schemas/Tier'
    UpdateLicensesRequest:
      title: UpdateLicensesRequest
      type: object
      required:
      - update
      properties:
        update:
          $ref: '#/components/schemas/Map_Refined_String_Refinement_V'
    AvailabilityFailure:
      title: AvailabilityFailure
      oneOf:
      - $ref: '#/components/schemas/ExternalCalendarIntegrationFailure'
      - $ref: '#/components/schemas/NoTimezone'
      - $ref: '#/components/schemas/Other'
      discriminator:
        propertyName: type
        mapping:
          ExternalCalendarIntegrationFailure: '#/components/schemas/ExternalCalendarIntegrationFailure'
          NoTimezone: '#/components/schemas/NoTimezone'
          Other: '#/components/schemas/Other'
    Other:
      title: Other
      type: object
      required:
      - type
      properties:
        type:
          type: string
          const: Other
    Email:
      title: Email
      examples:
      - john.doe@acme.com
      type: string
      pattern: .+@.+
    ExternalCalendarIntegrationFailure:
      title: ExternalCalendarIntegrationFailure
      type: object
      required:
      - type
      properties:
        type:
          type: string
          const: ExternalCalendarIntegrationFailure
    HubspotUser:
      title: HubspotUser
      type: object
      required:
      - email
      - id
      properties:
        email:
          $ref: '#/components/schemas/Email'
        id:
          type: integer
          format: int64
    UserId:
      title: UserId
      examples:
      - 64ee0722-c7c6-4b48-bc89-356c99f1d25d
      type: string
      pattern: '[^\s\\/]+'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      description: 'API key in Authorization header. Format: ''Authorization: Bearer <api-key>'' — the word ''Bearer'' followed by a space and the key is required. Sending the key without the Bearer prefix returns 401.'
      name: Authorization
      in: header
x-refined-from:
- chili-piper-availability-inspector-openapi.yaml
- chili-piper-chat-conversation-inspector-openapi.yaml
- chili-piper-concierge-debugger-openapi.yaml
- chili-piper-concierge-router-builder-openapi.yaml
- chili-piper-concierge-router-configuration-openapi.yaml
- chili-piper-distribution-analysis-openapi.yaml
- chili-piper-handoff-router-configuration-openapi.yaml
- chili-piper-no-show-analyzer-openapi.yaml
- chili-piper-org-meeting-openapi.yaml
- chili-piper-scheduling-link-management-openapi.yaml
- chili-piper-user-copy-openapi.yaml
- chili-piper-user-details-openapi.yaml
- chili-piper-user-meetings-openapi.yaml
- chili-piper-user-offboarding-openapi.yaml