tread.io Users API

The Users API from tread.io — 23 operation(s) for users.

OpenAPI Specification

treadio-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Horizon API V1 AccountExternalTruckIdentifier Users API
  version: '1.0'
  contact:
    name: Tread
    url: https://tread.io
    email: developers@tread.io
  description: 'This is the Version 1 implementation.


    When in doubt we default to the practices outlined [here](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#advanced-queries)'
  license:
    name: Private
    url: https://tread.io
servers:
- description: production
  url: https://api.tread-horizon.com
security:
- bearerAuth: []
tags:
- name: Users
paths:
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/users:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create User for a Managed Company
      operationId: post-v1-companies-company-id-managed_companies-managed-company-id-users
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      x-stoplight:
        id: usr3bn8rq9w5uf
      description: 'Create a `User` for a Managed Company


        This endpoint requires the `create_user` permission'
      tags:
      - Users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User-Create'
    get:
      summary: Retrieve Users for a Managed Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    x-stoplight:
                      id: usr7xk2mn3r9pz
                    type: array
                    items:
                      $ref: '#/components/schemas/User-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-managed_companies-managed-company-id-users
      x-stoplight:
        id: usrht5kp8w2nr
      description: Retrieve `Users` for a managed company.
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-datagrid'
      - schema:
          type: string
          enum:
          - execute_jobs
          - manage_sites
          - manage_materials
          - manage_equipment
          - manage_accounts
          - manage_users
        in: query
        name: filter[access]
        description: User access filter
        allowEmptyValue: true
      - $ref: '#/components/parameters/filter-iam_roles'
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/users/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search Users for a Managed Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    x-stoplight:
                      id: usr9yk4no5t1rb
                    type: array
                    items:
                      $ref: '#/components/schemas/User-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-managed_companies-managed-company-id-users-typeahead
      x-stoplight:
        id: usr0zm5op6u2sc
      description: Typeahead search for `Users` in a managed company
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-iam_roles'
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/users/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve User by ID for a Managed Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-managed_companies-managed-company-id-users-id
      x-stoplight:
        id: usr8xk3mn4s0qa
      description: Retrieve `User` by ID for a Managed Company
    patch:
      summary: Update User for a Managed Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-companies-company-id-managed_companies-managed-company-id-users-id
      x-stoplight:
        id: usr9yl4no5t1rb
      description: 'Update `User` by ID for a Managed Company


        A `User` can always update their own `Equipment` via the `equipment_id` /`additional_equipment_ids` properties.


        Any other updates require the `edit_user` permission.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User-Update'
    delete:
      summary: Delete User for a Managed Company
      tags:
      - Users
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: delete-v1-companies-company-id-managed_companies-managed-company-id-users-id
      x-stoplight:
        id: usr0zm5op6u2sc
      description: 'Delete `User` by ID for a Managed Company


        This endpoint requires the `delete_user` permission'
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/users/{user-id}/invite/email:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - schema:
        type: string
        format: uuid
      name: user-id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Send an Email Invite to a User in a Managed Company
      tags:
      - Users
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    x-stoplight:
                      id: usr1adspcrg3pq
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-companies-company-id-managed_companies-managed-company-id-users-user-id-invite-email
      x-stoplight:
        id: usrhlezr70c8g6
      description: This endpoint sends an Email invite to a `User` in a Managed Company asynchronously.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/users/{user-id}/invite/sms:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - schema:
        type: string
        format: uuid
      name: user-id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Send an SMS Invite to a User in a Managed Company
      tags:
      - Users
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    x-stoplight:
                      id: usr1sx8dj8kbpae
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-companies-company-id-managed_companies-managed-company-id-users-user-id-invite-sms
      x-stoplight:
        id: usr186ihbacn7w
      description: This endpoint sends an SMS invite to a `User` in a Managed Company asynchronously.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /v1/companies/{company-id}/users:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Users that belong to a Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: 609yciwdv8wfy
                    items:
                      $ref: '#/components/schemas/User-Read'
                      x-stoplight:
                        id: 0cb21ff0w1taw
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-users
      description: "Retrieve `Users` for a `Company`\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `first_name`\n * `last_name`\n * `email`\n * `phone`\n * `company.legal_name`\n * `iam_roles.name`\n\nNote:\n- `filter[iam_roles]` array are applied as `OR` in the query"
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-datagrid'
      - schema:
          type: string
          enum:
          - execute_jobs
          - manage_sites
          - manage_materials
          - manage_equipment
          - manage_accounts
          - manage_users
        in: query
        name: filter[access]
        description: User access filter
        allowEmptyValue: true
      - $ref: '#/components/parameters/filter-iam_roles'
      x-internal: false
  /v1/companies/{company-id}/users/typeahead:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Users for a Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/User-Read-Typeahead'
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-users-typeahead
      description: 'Typeahead search against the `first_name` and `last_name` property on `Users` for a `Company`.


        Note:

        - `filter[iam_roles]` array are applied as `OR` in the query'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-iam_roles'
      x-stoplight:
        id: 1m1zvo5unnm6v
      x-internal: true
  /v1/users:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a User
      operationId: post-v1-users
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
                    x-stoplight:
                      id: fc68vd1prtuts
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      description: 'Create a `User`


        This endpoint requires the `create_user` permission'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User-Create'
      tags:
      - Users
    get:
      summary: Retrieve Users that belong to the current Company
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    x-stoplight:
                      id: sdssn4pxcl3iy
                    type: array
                    items:
                      $ref: '#/components/schemas/User-Read'
                      x-stoplight:
                        id: 29tkyj0rzkrl0
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-users
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-datagrid'
      - schema:
          type: string
          enum:
          - execute_jobs
          - manage_sites
          - manage_materials
          - manage_equipment
          - manage_accounts
          - manage_users
        in: query
        name: filter[access]
        description: User access filter
        allowEmptyValue: true
      - $ref: '#/components/parameters/filter-iam_roles'
      - $ref: '#/components/parameters/filter-label_ids'
      description: "Retrieve `Users` visible to your `Company`\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `first_name`\n * `last_name`\n * `email`\n * `phone`\n * `company.legal_name`\n * `iam_roles.name`\n\nNote:\n- `filter[iam_roles]` array are applied as `OR` in the query\n- `filter[label_ids]` array are applied as `OR` in the query"
  /v1/users/me:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve the current User
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Me-Read'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-users-me
      description: Retrieve the current authenticated `User`
      tags:
      - Users
  /v1/users/me/access:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve current User's Access
      tags:
      - Users
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: 83mx63p61cb6q
                    items:
                      $ref: '#/components/schemas/Access-Read'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-users-me-access
      x-stoplight:
        id: 8osd42hir7w7m
      description: Retrieve current `User`'s `Access`
      x-internal: true
  /v1/users/me/iam_permissions:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Permissions granted to the current User
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/IamPermission-Read-Nested'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-users-me-iam-permissions
      description: Retrieve the current authenticated users permissions
      tags:
      - Users
      x-stoplight:
        id: oshhefbjay9o3
  /v1/users/me/location:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Set Current Location
      tags:
      - Users
      operationId: get-v1-users-me-location
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      x-stoplight:
        id: vpv57qj94t9zg
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileDeviceLocation-Create'
      x-internal: true
      description: Set the current location for a User's Mobile Device
  /v1/users/me/locations:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Bulk Create Historical Locations
      tags:
      - Users
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-users-me-location
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileDeviceLocations-Create'
      x-stoplight:
        id: 01j1tm6m17rt2
      x-internal: true
      description: Record historical location data for a User's Mobile Device
  /v1/users/typeahead:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Users
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/User-Read-Typeahead'
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-users-typeahead
      description: 'Typeahead search against the `first_name` and `last_name` property for `Users` visible to the currently authenticated `Company`.


        Note:

        - `filter[iam_roles]` array are applied as `OR` in the query'
      x-internal: true
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-iam_roles'
      x-stoplight:
        id: ot445z3l0x9vy
  /v1/users/{id}:
    parameters:
    - schema:
        type: string
      name: id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve User
      operationId: get-v1-users-id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      x-stoplight:
        id: aa3d7et8uws3l
      description: Retrieve a `User` by ID
      tags:
      - Users
    patch:
      summary: Update a User
      operationId: patch-v1-users-id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/User-Read'
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      description: 'Update a `User` by ID


        A `User` can always update their own `Equipment` via the `equipment_id` /`additional_equipment_ids` properties.


        Any other updates require the `edit_user` permission.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User-Update'
      tags:
      - Users
    delete:
      summary: Delete a User
      operationId: delete-v1-users-id
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      x-stoplight:
        id: 5x7b0jxyu11c0
      description: 'Delete a `User` by ID


        This endpoint requires the `delete_user` permission'
      tags:
      - Users
  /v1/users/{user-id}/impersonations:
    parameters:
    - schema:
        type: string
        format: uuid
      name: user-id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Impersonate a User
      tags:
      - Users
      responses:
        '201':
          description: Shared Response
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/AuthToken'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: post-v1-users-user-id-impersonations
      x-stoplight:
        id: odezqsjnkifwz
      x-internal: true
      description: "Impersonate a `User`. \n\nThis endpoint requires the `impersonate` `IamPermission`. "
  /v1/users/{user-id}/invite/email:
    parameters:
    - schema:
        type: string
      name: user-id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Send an Email Invite to a User
      tags:
      - Users
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    x-stoplight:
                      id: adspcrg3phakp
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-users-user-id-invite-email
      x-stoplight:
        id: hlezr70c8g6yf
      description: This endpoint sends an Email invite to a `User` asynchronously.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /v1/users/{user-id}/invite/sms:
    parameters:
    - schema:
        type: string
      name: user-id
      in: path
      required: true
      description: User ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Send an SMS Invite to a User
      tags:
      - Users
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    x-stoplight:
                      id: sx8dj8kbpae6u
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-users-user-id-invite-sms
      x-stoplight:
        id: 86ihbacn7wppo
      description: This endpoint sends an SMS invite to a `User` asynchronously.
      reques

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/treadio/refs/heads/main/openapi/treadio-users-api-openapi.yml