Abound Users API
The Users API from Abound — 2 operation(s) for users.
The Users API from Abound — 2 operation(s) for users.
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`.