Wingspan 1099 Operations API
Includes endpoints for managing 1099 forms.
Includes endpoints for managing 1099 forms.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/wingspan-1099-operations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Wingspan Payments 1099 Operations API
description: Payments
termsOfService: https://www.wingspan.app
contact:
name: Wingspan API Support
url: https://www.wingspan.app
email: support@wingspan.app
license:
name: UNLICENSED
url: https://UNLICENSED
version: 1.0.0-oas3.1
servers:
- url: https://api.wingspan.app
description: Wingspan's Payments API in Production
x-speakeasy-server-id: prod
- url: https://stagingapi.wingspan.app
description: Wingspan's Payments API in Staging
x-speakeasy-server-id: staging
security:
- BearerAuth: []
tags:
- name: 1099 Operations
description: Includes endpoints for managing 1099 forms.
paths:
/payments/collaborator/{id}/download-1099/{year}/{index}:
get:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
- in: path
required: true
name: year
description: Year
schema:
type: string
- in: path
required: true
name: index
description: Index
schema:
type: string
summary: Retrieve Form 1099 PDF for a Collaborator by Year and Index
operationId: getForm1099PDF
x-speakeasy-name-override: get_form_1099
tags:
- 1099 Operations
description: Facilitates downloading of the specified 1099 form for a given collaborator, corresponding to the provided year and index.
responses:
'200':
description: Download1099Response
content:
application/json:
schema:
$ref: '#/components/schemas/Download1099Response'
/payments/collaborator/{id}/download-w9:
get:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Retrieve Form W9 PDF for a Collaborator
operationId: getFormW9PDF
x-speakeasy-name-override: get_form_w9
tags:
- 1099 Operations
description: Enables the downloading of the W9 form for the specified collaborator, ensuring compliance and streamlined financial procedures.
responses:
'200':
description: A file stream for a W9 PDF download.
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadW9Response'
/payments/collaborator/1099/calculate:
post:
summary: Determine 1099 Amounts for Collaborators
operationId: calculate1099Amounts
x-speakeasy-name-override: calculate
tags:
- 1099 Operations
description: Analyzes and calculates the appropriate 1099 amounts for collaborators based on provided data and relevant financial parameters.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Calculate1099Request'
responses:
'200':
description: Calculate 1099 amounts response
content:
application/json:
schema:
$ref: '#/components/schemas/Calculate1099Response'
/payments/collaborator/1099/remail:
post:
summary: Request a new mailing of the 1099 form for a collaborator
operationId: remail1099Form
x-speakeasy-name-override: remail
tags:
- 1099 Operations
description: Initiates a process to resend the 1099 form to a collaborator in the event of a previous failed delivery or at the request of the collaborator.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Remail1099Request'
responses:
'200':
description: Remail 1099 response
content:
application/json:
schema:
$ref: '#/components/schemas/Remail1099Response'
/payments/collaborator/1099/mark-undelivered:
post:
summary: Indicate a collaborator's 1099 form was returned undelivered
operationId: markUndelivered1099Form
x-speakeasy-name-override: mark
tags:
- 1099 Operations
description: Mark a specific 1099 submission for a collaborator as undelivered, typically due to mail return or incorrect address details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Mark1099AsUndeliveredRequest'
responses:
'200':
description: Mark 1099 as undelivered response
content:
application/json:
schema:
$ref: '#/components/schemas/Mark1099AsUndeliveredResponse'
/payments/bulk/calculation1099/batch:
get:
summary: Retrieve all bulk calculation 1099 batches
operationId: listCalculation1099Batches
x-speakeasy-name-override: list_batch_calculation
tags:
- 1099 Operations
description: Fetches a comprehensive list of all batches created for bulk 1099 calculations.
responses:
'200':
description: A list of bulk calculation 1099 batches
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BulkCalculation1099Batch'
post:
summary: Initialize a new batch for bulk calculation 1099
operationId: createCalculation1099Batch
x-speakeasy-name-override: create_batch_calculation
tags:
- 1099 Operations
description: Allows users to create a new batch for facilitating bulk 1099 calculations by providing necessary batch details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkBatchCreate'
responses:
'200':
description: A batch of items for importing as calculation 1099s
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099Batch'
/payments/bulk/calculation1099/batch/{batchId}:
get:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
summary: Retrieve specific details of a bulk calculation 1099 batch
operationId: getCalculation1099Batch
x-speakeasy-name-override: get_batch_calculation
tags:
- 1099 Operations
description: Fetches detailed information about a specific batch meant for bulk 1099 calculations using its unique batch identifier.
responses:
'200':
description: A batch of items for importing as calculation 1099s
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099Batch'
patch:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
summary: Modify the details of a specific bulk calculation 1099 batch
operationId: updateCalculation1099Batch
x-speakeasy-name-override: update_batch_calculation
tags:
- 1099 Operations
description: Provides the ability to update or alter attributes of a given batch for bulk 1099 calculations by using its unique batch identifier.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkBatchUpdate'
responses:
'200':
description: A batch of items for importing as calculation 1099s
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099Batch'
/payments/bulk/calculation1099/batch/{batchId}/item:
get:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
summary: Retrieve all items from a calculation 1099 batch
operationId: listCalculation1099BatchItems
x-speakeasy-name-override: list_item
tags:
- 1099 Operations
description: Access a comprehensive list of items contained within a specified calculation 1099 batch, useful for verifying or inspecting batch contents.
responses:
'200':
description: A list of bulk calculation 1099 items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BulkCalculation1099Item'
post:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
summary: Add a new item to a calculation 1099 batch
operationId: createCalculation1099BatchItem
x-speakeasy-name-override: create_item
tags:
- 1099 Operations
description: Facilitates the incorporation of a new item into the specified calculation 1099 batch, streamlining the process of batch expansion.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099ItemCreate'
responses:
'200':
description: An item that will be converted into a calculation 1099
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099Item'
/payments/bulk/calculation1099/batch/{batchId}/item/{batchItemId}:
get:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
- in: path
required: true
name: batchItemId
description: Unique identifier for an item in a batch
schema:
type: string
summary: Fetch details of a specific item from a calculation 1099 batch
operationId: getCalculation1099BatchItem
x-speakeasy-name-override: get_item
tags:
- 1099 Operations
description: Gain insights into a particular item's attributes and data stored within a calculation 1099 batch, enhancing data management and verification.
responses:
'200':
description: An item that will be converted into a calculation 1099
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099Item'
patch:
parameters:
- in: path
required: true
name: batchId
description: Unique identifier for a batch
schema:
type: string
- in: path
required: true
name: batchItemId
description: Unique identifier for an item in a batch
schema:
type: string
summary: Revise the attributes of an item in a calculation 1099 batch
operationId: updateCalculation1099BatchItem
x-speakeasy-name-override: update_item
tags:
- 1099 Operations
description: Make alterations or updates to a specific item within the calculation 1099 batch, ensuring accurate and up-to-date record-keeping.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkCalculation1099ItemUpdate'
responses:
'200':
description: An item that will be converted into a payable
content:
application/json:
schema:
$ref: '#/components/schemas/BulkPayableItem'
/payments/tax-form:
get:
summary: Fetch 1099 tax forms.
operationId: list1099TaxForms
x-speakeasy-name-override: list_tax_form
tags:
- 1099 Operations
description: Fetch tax forms for a payee or a payer and specified year.
responses:
'200':
description: List of 1099 Tax form objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TaxFormResponse'
post:
summary: Create a new tax form.
operationId: create1099TaxForm
x-speakeasy-name-override: create_tax_form
tags:
- 1099 Operations
description: Create a tax form for a new recipient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormCreateRequest'
responses:
'200':
description: 1099 Tax form object
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormResponse'
/payments/tax-form/{taxFormId}:
get:
parameters:
- in: path
required: true
name: taxFormId
description: Unique tax Form Id
schema:
type: string
summary: Fetch tax form.
operationId: getTaxForm
x-speakeasy-name-override: get
tags:
- 1099 Operations
description: Fetches the specified tax form if it exists
responses:
'200':
description: 1099 Tax form object
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormResponse'
patch:
parameters:
- in: path
required: true
name: taxFormId
description: Unique tax Form Id
schema:
type: string
summary: Update a tax form.
operationId: updateTaxForm
x-speakeasy-name-override: update
tags:
- 1099 Operations
description: Updates a tax form with provided information.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormUpdateRequest'
responses:
'200':
description: 1099 Tax form object
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormResponse'
/payments/tax-form/{taxFormId}/resync:
post:
parameters:
- in: path
required: true
name: taxFormId
description: Unique tax Form Id
schema:
type: string
summary: Re-enable recipient sync on a tax form.
operationId: createRecipientSync
x-speakeasy-name-override: create
tags:
- 1099 Operations
description: Re-enables recipient sync for a tax form. Reverts to last provided recipient data and triggers payable calculations. Does nothing if sync is already enabled.
responses:
'200':
description: 1099 Tax form object
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormResponse'
/payments/tax-form/{taxFormId}/verify-identity:
post:
parameters:
- in: path
required: true
name: taxFormId
description: Unique tax Form Id
schema:
type: string
summary: Provide Recipient Proof of Identity
operationId: createRecipientProof
x-speakeasy-name-override: create_proof
tags:
- 1099 Operations
description: Allows recipient of a tax form to verify their identity in order to access a non-redacted tax form.
responses:
'200':
description: 1099 Tax form object
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormResponse'
/payments/tax-form/submit-w9:
post:
summary: Submit Payee W9 Information.
operationId: updatePayeeW9Information
x-speakeasy-name-override: update_w9
tags:
- 1099 Operations
description: Updates 1099 tax forms for the current year with W9 information wherever W9 sharing is enabled.
responses:
'200':
description: List of 1099 Tax form objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TaxFormResponse'
/payments/tax-form/verify-tin:
post:
summary: Submit Payee TIN for verification
operationId: submitPayeeTIN
x-speakeasy-name-override: submit
tags:
- 1099 Operations
description: Asynchronously verifies the TIN on file with the IRS. May return a pending status if waiting on IRS response.
responses:
'200':
description: Status of TIN verification
content:
application/json:
schema:
$ref: '#/components/schemas/TinVerificationResponse'
/payments/tax-form/resend-invite:
post:
summary: Request a new 1099 invite email.
operationId: request1099InviteEmail
x-speakeasy-name-override: request
tags:
- 1099 Operations
description: Requests a new 1099 invite email to be sent to the recipient. Only sends if the email exists and the user has tax forms.
responses:
'200':
description: Basic response indicating success
content:
application/json:
schema:
$ref: '#/components/schemas/TaxFormInviteResponse'
components:
schemas:
8a9c6cb49482a98cdd603ff09858cdc3e5ef6ad9807c876c4161d925a96694a5:
type: object
properties:
amount:
type:
- number
- 'null'
comment:
type:
- string
- 'null'
status:
type:
- string
- 'null'
enum:
- Open
- Accepted
- Rejected
- null
TaxFormRedactedEvent:
type: object
properties:
eventType:
type: string
enum:
- PayerUpdatedData
- PayerManuallyUpdatedStatus
- RecipientUpdatedData
- RecipientSyncEnabled
- InvitationSent
- InvitationOpened
- RecipientSignedUp
- RecipientSharedW9Info
- TINVerificationRequested
- TINVerificationSucceeded
- TINVerificationFailed
- FormSubmittedToIRS
- FormAcceptedByIRS
- FormRejectedByIRS
- CorrectionRequested
- CorrectionAccepted
- CorrectionRejected
- Emailed1099CopyDelivered
- Emailed1099CopyOpened
- Emailed1099CopyDownloaded
- Mailed1099CopyDelivered
- Mailed1099CopyReturnedToSender
- Remailed1099CopyDelivered
timestamp:
type: string
triggeredBy:
type: string
enum:
- Payer
- Payee
- System
data:
oneOf:
- type: 'null'
- type: object
eventActor:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/RedactedMember'
eventActorId:
type:
- string
- 'null'
previousData:
oneOf:
- type: 'null'
- type: object
recipientSyncToggled:
type:
- string
- 'null'
enum:
- Enabled
- Disabled
- null
required:
- eventType
- timestamp
- triggeredBy
TaxFormEvents:
type: object
properties:
createdAt:
type:
- string
- 'null'
updatedAt:
type:
- string
- 'null'
CompanyPerson:
type: object
properties:
memberId:
type: string
ownershipPercentage:
type:
- number
- 'null'
required:
- memberId
23d776fc12e56286a20f36065e4f942c43a28218a62eb2f211116c130deb74eb:
type: object
properties:
address:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/Address'
company:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/Company'
logoUrl:
type:
- string
- 'null'
ssnLastFour:
type:
- string
- 'null'
DocumentFiles:
type: object
properties:
client:
type:
- string
- 'null'
member:
type:
- string
- 'null'
MemberClientForm1099Balances:
type: object
properties:
adjustments:
type: number
deliveryMethod:
type: string
enum:
- Electronic
- Mail
exclusionReason:
type: string
enum:
- BelowThreshold
- CompanyStructure
- NonUsEntity
form1099Generated:
type: boolean
paymentProcessingFees:
type: number
platformIncome:
type: number
status:
type: string
enum:
- Ready
- NeedsActionInfo
- NeedsActionDispute
- Submitted
- Rejected
- Accepted
- Excluded
type:
type: string
enum:
- NEC
correction:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/Form1099Correction'
dispute:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/8a9c6cb49482a98cdd603ff09858cdc3e5ef6ad9807c876c4161d925a96694a5'
events:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/Form1099Events'
taxForm:
oneOf:
- type: 'null'
- type: object
taxFormId:
type:
- string
- 'null'
required:
- adjustments
- deliveryMethod
- exclusionReason
- form1099Generated
- paymentProcessingFees
- platformIncome
- status
- type
Remail1099Request:
type: object
properties:
address:
$ref: '#/components/schemas/7b49dbbd81f36ab6d7b4f07c5e2e53f40e36eb7b83d1488f379e993b830eec56'
memberId:
type: string
year:
type: number
documentIndex:
type:
- number
- 'null'
required:
- address
- memberId
- year
MemberClientEvents:
type: object
properties:
activeAt:
type:
- string
- 'null'
pendingAt:
type:
- string
- 'null'
Mark1099AsUndeliveredRequest:
type: object
properties:
memberId:
type: string
submissionIndex:
type: number
year:
type: number
required:
- memberId
- submissionIndex
- year
MemberData:
type: object
properties:
autoPayRequirement:
type:
- string
- 'null'
enum:
- All
- None
- null
externalId:
type:
- string
- 'null'
shareTaxDocument:
type:
- string
- 'null'
enum:
- Allow
- Decline
- null
BulkCalculation1099ItemCreate:
type: object
properties:
clientId:
type: string
year:
type: number
calculationType:
type:
- string
- 'null'
enum:
- Balances
- Submissions
- null
labels:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/LabelsDictionary'
required:
- clientId
- year
TaxFormUpdateRequest:
type: object
properties:
data:
type: object
payerConfirmedW9Info:
type:
- boolean
- 'null'
status:
type:
- string
- 'null'
enum:
- Pending
- ReadyToSubmitToIrs
- SubmittedToIrs
- AcceptedByIrs
- RejectedByIrs
- PendingCorrection
- Excluded
- Ineligible
- null
required:
- data
Form1099Correction:
type: object
properties:
address:
oneOf:
- type: 'null'
- type: object
companyStructure:
type:
- string
- 'null'
enum:
- None
- SoleProprietorship
- LlcSingleMember
- LlcMultiMember
- CorporationS
- LLCCorporationS
- LLCCorporationC
- LLCPartnership
- CorporationC
- Partnership
- null
ein:
type:
- string
- 'null'
firstName:
type:
- string
- 'null'
lastName:
type:
- string
- 'null'
legalBusinessName:
type:
- string
- 'null'
ssn:
type:
- string
- 'null'
totalAmount:
type:
- number
- 'null'
RedactedUser:
type: object
properties:
email:
type:
- string
- 'null'
phone:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/7996a6815c717c0e93865680b5cd47dec90314e97e4e7282bed7fc2f367bc051'
profile:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/f6f2bd1a2fc7bad4e0d8f22345fc5f6699d096b7797b93575869c544a4fc5cef'
settings:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/9e97e63e736df301658ebeeab7f4fe84f3aeaa73800d3e4863801a3eb026df4b'
status:
type:
- string
- 'null'
enum:
- Pending
- Active
- Disabled
- null
tag:
type:
- string
- 'null'
TaxFormW9Info:
type: object
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
city:
type:
- string
- 'null'
companyStructure:
type:
- string
- 'null'
enum:
- None
- SoleProprietorship
- LlcSingleMember
- LlcMultiMember
- CorporationS
- LLCCorporationS
- LLCCorporationC
- LLCPartnership
- CorporationC
- Partnership
- null
country:
type:
- string
- 'null'
disregardedEntityName:
type:
- string
- 'null'
dob:
type:
- string
- 'null'
ein:
type:
- string
- 'null'
einLastFour:
type:
- string
- 'null'
exemptFatcaCode:
type:
- string
- 'null'
exemptPayeeCode:
type:
- string
- 'null'
firstName:
type:
- string
- 'null'
lastName:
type:
- string
- 'null'
legalBusinessName:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
ssn:
type:
- string
- 'null'
ssnLastFour:
type:
- string
- 'null'
state:
type:
- string
- 'null'
tinType:
type:
- string
- 'null'
enum:
- Individual
- Business
- null
Form1099Events:
type: object
properties:
acceptedByCollaboratorAt:
type:
- string
- 'null'
createdAt:
type:
- string
- 'null'
postFilingSuggestionMadeAt:
type:
- string
- 'null'
postFilingSuggestionResolvedAt:
type:
- string
- 'null'
submittedForCollaboratorReviewAt:
type:
- string
- 'null'
suggestionMadeAt:
type:
- string
- 'null'
suggestionResolvedAt:
type:
- string
- 'null'
updatedAt:
type:
- string
- 'null'
757f4961b94334fd41cedc27262be7b14583377703cda6490b996969bd4e66c2:
type: object
properties:
itemsFailed:
type: number
itemsProcessed:
type: number
itemsTotal:
type: number
required:
- itemsFailed
- itemsProcessed
- itemsTotal
DocumentResponse:
type: object
properties:
clientId:
type: string
documentId:
type: string
memberId:
type: string
status:
type: string
enum:
- Required
- Approved
- Invalid
- ReceivedFront
- ReceivedBack
- PendingReview
templateId:
type: string
title:
type: string
userRoles:
$ref: '#/components/schemas/UserRoles'
events:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/DocumentEvents'
files:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/DocumentFiles'
required:
- clientId
- documentId
- memberId
- status
- templateId
- title
- userRoles
9e97e63e736df301658ebeeab7f4fe84f3aeaa73800d3e4863801a3eb026df4b:
type: object
properties:
userAccountType:
type:
- string
- 'null'
enum:
- member
- enterprise
- null
RedactedTaxFormW9Info:
type: object
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
city:
type:
- string
- 'null'
companyStructure:
type:
- string
- 'null'
enum:
- None
- SoleProprietorship
- LlcSingleMember
- LlcMultiMember
- CorporationS
- LLCCorporationS
- LLCCorporationC
- LLCPartnership
- CorporationC
- Partnership
- null
country:
type:
- string
- 'null'
disregardedEntityName:
type:
- string
- 'null'
dob:
type:
- string
- 'null'
ein:
type:
- string
- 'null'
einLastFour:
type:
- string
- 'null'
exemptFatcaCode:
type:
- string
- 'null'
exemptPayeeCode:
type:
- string
- 'null'
firstName:
type:
- string
- 'null'
lastName:
type:
- string
- 'null'
legalBusinessName:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
ssnLastFour:
type:
- string
- 'null'
state:
type:
- string
- 'null'
tinType:
type:
- string
- 'null'
enum:
- Individual
- Business
- null
ExternalIdsBulkImport:
type: object
properties:
bulkItemMergeKey:
type:
- string
- 'null'
ExternalIdsQuickbooksData:
type: object
properties:
id:
type: string
syncToken:
type: string
doCreate:
type:
- boolean
- 'null'
doDelete:
type:
- boolean
- 'null'
doUpdate:
type:
- boolean
- 'null'
updatedAt:
type:
- string
- 'null'
required:
- id
- syncToken
ExternalIds:
type: object
properties:
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wingspan/refs/heads/main/openapi/wingspan-1099-operations-api-openapi.yml