Abound Users API

The Users API from Abound — 2 operation(s) for users.

OpenAPI Specification

abound-users-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Abound API - v4 1099-INT Users API
  version: '4'
  description: 'Abound was a US tax-compliance API for platforms and marketplaces: W-9 / W-8BEN / W-8BEN-E collection, real-time TIN verification against the IRS, and generation, filing, correction, voiding and physical mailing of Form 1099-NEC, 1099-MISC, 1099-K and 1099-INT with federal and state tax authorities.


    NOTE: This document is a mechanical conversion of the first-party Fern API Definition that Abound shipped inside its official npm package @withabound/node-sdk (v6.0.68). Abound was acquired and the service has been retired: the withabound.com DNS zone is fully de-delegated and the API hosts no longer resolve. This spec is preserved as a historical record of the API surface.'
  x-status: retired
servers:
- url: https://production-api.withabound.com
  description: Production (retired - host no longer resolves)
- url: https://sandbox-api.withabound.com
  description: Sandbox (retired - host no longer resolves)
security:
- bearerAuth: []
tags:
- name: Users
paths:
  /v4/users:
    get:
      operationId: usersList
      tags:
      - Users
      summary: List all users
      description: Returns a list of users. Up to 100 users are returned per request.
      parameters:
      - name: page
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Page'
      - name: email
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Email'
      - name: foreignId
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/ForeignId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequestSchema'
              example:
                errors:
                - field: metadata.key
                  message: Expected metadata.key to be of type string, but received number
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Internal Server Error
    post:
      operationId: usersCreate
      tags:
      - Users
      summary: Create a user
      description: Creates a user for a single end-user of your application.
      parameters:
      - name: Idempotency-Key
        in: header
        required: false
        schema:
          $ref: '#/components/schemas/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequestSchema'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequestSchema'
              example:
                errors:
                - field: metadata.key
                  message: Expected metadata.key to be of type string, but received number
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Not Found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Conflict
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Internal Server Error
  /v4/users/{userId}:
    get:
      operationId: usersRetrieve
      tags:
      - Users
      summary: Retrieve a user
      description: Retrieves the details of an existing user.
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/UserId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequestSchema'
              example:
                errors:
                - field: metadata.key
                  message: Expected metadata.key to be of type string, but received number
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Internal Server Error
    put:
      operationId: usersUpdate
      tags:
      - Users
      summary: Update a user
      description: Updates an existing user. Any body parameters not provided will be removed.
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/UserId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequestSchema'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequestSchema'
              example:
                errors:
                - field: metadata.key
                  message: Expected metadata.key to be of type string, but received number
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Not Found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorSchema'
              example:
                message: Conflict
components:
  schemas:
    Email:
      type: string
      description: Filters the list of users based on the `email` field.
    UserId:
      type: string
      description: The unique identifier for a single end-user of your application.
    Page:
      type: integer
      description: The specific page of results you're requesting. Responses are limited to a maximum of 100 records.
    DefaultErrorSchema:
      type: object
      properties:
        message:
          type: string
          description: The error message associated with the response status code.
      required:
      - message
    IdempotencyKey:
      type: string
      description: The unique key used to identify a request that has already been processed.
    ForeignId:
      type: string
      description: The customer-specific unique identifier associated to an Abound record. Allows developers to forego making their own tables every time they integrate and/or add an application.
    UserRequestSchema:
      type: object
      properties:
        email:
          type: string
          description: The user's email address. Abound assume's you have taken the proper steps to verify the ownership of this email address.
          deprecated: true
        foreignId:
          type: string
          description: The customer-specific unique identifier associated with this user.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Use metadata for storing additional user data. For filtering, please use `foreignId`.
      examples:
      - foreignId: my-foreign-id
    ErrorBadRequestSchema:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorBadRequestSchemaErrorsItem'
          description: The error message(s) associated with the response status code.
      required:
      - errors
    ErrorBadRequestSchemaErrorsItem:
      type: object
      properties:
        field:
          type: string
          description: The field that caused the error.
        message:
          type: string
          description: The error message associated with the field.
      required:
      - message
    UserSchema:
      allOf:
      - $ref: '#/components/schemas/UserRequestSchema'
      - type: object
        properties:
          id:
            type: string
            description: The unique identifier for this user.
          createdAt:
            type: string
            format: date-time
            description: The creation date and time of the user in `ISO 8601` format.
        required:
        - createdAt
        - id
      examples:
      - id: userId_sampleXGMFnhOpeR
        createdAt: '2024-01-01T00:00:00.000Z'
        foreignId: my-foreign-id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token. The token is the concatenation of your Abound appId and appSecret separated by a period, e.g. `appId_xxx.appSecret_yyy`.