Truv Users API

Manage the end users (consumers) whose data is connected through Truv.

OpenAPI Specification

truv-users-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Truv Admin Users API
  description: Truv provides consumer-permissioned access to payroll, income, and employment data. This specification covers the Truv REST API for managing users, minting bridge tokens, working with links, and retrieving employment, income, pay statement, direct deposit, insurance, identity, and banking data, plus orders, tasks, and webhooks.
  termsOfService: https://truv.com/terms-of-service/
  contact:
    name: Truv Support
    email: support@truv.com
    url: https://docs.truv.com
  version: '1.0'
servers:
- url: https://prod.truv.com
  description: Truv production API
security:
- accessClientId: []
  accessSecret: []
tags:
- name: Users
  description: Manage the end users (consumers) whose data is connected through Truv.
paths:
  /v1/users/:
    post:
      operationId: createUser
      tags:
      - Users
      summary: Create a user.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
      responses:
        '201':
          description: User created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    get:
      operationId: listUsers
      tags:
      - Users
      summary: List users.
      responses:
        '200':
          description: A list of users.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /v1/users/{user_id}/:
    parameters:
    - $ref: '#/components/parameters/UserId'
    get:
      operationId: getUser
      tags:
      - Users
      summary: Retrieve a user.
      responses:
        '200':
          description: A user object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    patch:
      operationId: updateUser
      tags:
      - Users
      summary: Update a user.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
      responses:
        '200':
          description: Updated user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    delete:
      operationId: deleteUser
      tags:
      - Users
      summary: Delete a user.
      responses:
        '204':
          description: User deleted.
components:
  parameters:
    UserId:
      name: user_id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the user.
  schemas:
    UserRequest:
      type: object
      properties:
        external_user_id:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone:
          type: string
    User:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the user.
        external_user_id:
          type: string
          description: Your own identifier for the user.
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone:
          type: string
        created_at:
          type: string
          format: date-time
  securitySchemes:
    accessClientId:
      type: apiKey
      in: header
      name: X-Access-Client-Id
      description: Your Truv access client ID.
    accessSecret:
      type: apiKey
      in: header
      name: X-Access-Secret
      description: Your Truv access secret.