Wingspan Client Management API
Encompasses endpoints for banking-related operations such as managing bank cards, statements, instant payouts, and banking institutions..
Encompasses endpoints for banking-related operations such as managing bank cards, statements, instant payouts, and banking institutions..
openapi: 3.1.0
info:
title: Wingspan Payments 1099 Operations Client Management 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: Client Management
description: Encompasses endpoints for banking-related operations such as managing bank cards, statements, instant payouts, and banking institutions..
paths:
/payments/memberClient:
get:
summary: Fetch a list of member and client associations
operationId: listMemberClientAssociations
x-speakeasy-name-override: list_associations
tags:
- Client Management
description: Retrieve a detailed list showcasing all the existing associations between members and clients in the system.
responses:
'200':
description: A list of memberClient objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MemberClientSchema'
post:
summary: Establish a new association between a member and client
operationId: establishMemberClientAssociation
x-speakeasy-name-override: establish
tags:
- Client Management
description: Use this endpoint to create a new linkage between a member and client in the system, allowing for better relationship management.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientCreateRequest'
responses:
'200':
description: Describes details of member and client
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientSchema'
/payments/memberClient/{id}:
get:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Retrieve detailed information of a specific member-client relationship
operationId: getMemberClientAssociation
x-speakeasy-name-override: get_association
tags:
- Client Management
description: Fetches comprehensive details of the association between a member and a client using the provided unique identifier.
responses:
'200':
description: Describes details of member and client
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientSchema'
patch:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Update information of a specific member-client relationship
operationId: updateMemberClientAssociation
x-speakeasy-name-override: update_association
tags:
- Client Management
description: Modifies details of the association between a member and a client based on the provided data.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientUpdateRequest'
responses:
'200':
description: Describes details of member and client
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientSchema'
delete:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Remove a specific member-client relationship from the system
operationId: deleteMemberClientAssociation
x-speakeasy-name-override: delete_association
tags:
- Client Management
description: Deletes the association between a member and a client using the provided unique identifier. Once deleted, this relationship data can't be recovered.
responses:
'200':
description: Describes details of member and client
content:
application/json:
schema:
$ref: '#/components/schemas/MemberClientSchema'
/payments/client-deduction:
post:
summary: Register a New Client Deduction
operationId: createClientDeduction
x-speakeasy-name-override: create
tags:
- Client Management
description: Allows for the creation of a new client deduction based on the provided details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionCreateRequest'
responses:
'200':
description: A deduction
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionResponse'
get:
summary: Retrieve All Client Deductions
operationId: listClientDeductions
x-speakeasy-name-override: list_client_deduction
tags:
- Client Management
description: Fetches a comprehensive list of all client deductions present in the system.
responses:
'200':
description: A list of deductions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeductionResponse'
/payments/client-deduction/{id}:
get:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Fetch Specific Client Deduction Details
operationId: getClientDeduction
x-speakeasy-name-override: get_client_deduction
tags:
- Client Management
description: Provides detailed information for a client deduction based on its unique identifier.
responses:
'200':
description: A deduction
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionResponse'
patch:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Modify a Client Deduction
operationId: updateClientDeduction
x-speakeasy-name-override: update_client_deduction
tags:
- Client Management
description: Allows for updating specific details or attributes of an existing client deduction.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionUpdateRequest'
responses:
'200':
description: A deduction
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionResponse'
delete:
parameters:
- in: path
required: true
name: id
description: Unique identifier
schema:
type: string
summary: Remove a Client Deduction
operationId: deleteClientDeduction
x-speakeasy-name-override: delete_client_deduction
tags:
- Client Management
description: Allows for the deletion of a client deduction based on its unique identifier, removing it permanently from the system.
responses:
'200':
description: A deduction
content:
application/json:
schema:
$ref: '#/components/schemas/DeductionResponse'
/payments/v2/client:
get:
summary: Retrieve All Clients (Version 2)
operationId: listClients
x-speakeasy-name-override: list
tags:
- Client Management
description: Fetches a comprehensive list of clients formatted in the V2 standard, providing an overview of all client data.
responses:
'200':
description: List of V2 Collaborators
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CollaboratorV2'
/payments/v2/client/{clientId}:
get:
parameters:
- in: path
required: true
name: clientId
description: Unique identifier of a client
schema:
type: string
summary: Retrieve Specific Client Details (Version 2)
operationId: listSpecificClientDetails
x-speakeasy-name-override: list_specific_client_detail
tags:
- Client Management
description: Fetches detailed information of a specific client, identified by the clientId, in the V2 format.
responses:
'200':
description: A single V2 Collaborator
content:
application/json:
schema:
$ref: '#/components/schemas/CollaboratorV2'
components:
schemas:
CompanyLinks:
type: object
properties:
instagramUrl:
type:
- string
- 'null'
linkedInUrl:
type:
- string
- 'null'
otherUrl:
type:
- string
- 'null'
twitterUrl:
type:
- string
- 'null'
websiteUrl:
type:
- string
- 'null'
3d33fba3f009de957b3be92fba006d6383af7e39f823cc1fd213506f6205100f:
type: object
properties:
quickbooks:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/d86c1fba5267ac3d9ce2954a6e46b70e471c0f91a44abbe94565ae50e6e9e863'
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'
87539cb97aa7616e350fc0d23c5a49177ea4c4a8bd00ec2a2cfd2a9a5c4e648a:
type: object
additionalProperties:
type: string
8a9c6cb49482a98cdd603ff09858cdc3e5ef6ad9807c876c4161d925a96694a5:
type: object
properties:
amount:
type:
- number
- 'null'
comment:
type:
- string
- 'null'
status:
type:
- string
- 'null'
enum:
- Open
- Accepted
- Rejected
- null
DeductionResponse:
type: object
properties:
amount:
type: number
application:
type: array
items:
$ref: '#/components/schemas/DeductionApplication'
clientId:
type: string
createdAt:
type: string
currency:
type: string
enum:
- USD
- CAD
deductionId:
type: string
eventActors:
$ref: '#/components/schemas/87539cb97aa7616e350fc0d23c5a49177ea4c4a8bd00ec2a2cfd2a9a5c4e648a'
labels:
$ref: '#/components/schemas/LabelsDictionary'
memberId:
type: string
name:
type: string
priority:
type: number
startDate:
type: string
status:
type: string
enum:
- Pending
- PartiallyApplied
- Complete
type:
type: string
enum:
- PrePayment
- PostPayment
updatedAt:
type: string
userRoles:
$ref: '#/components/schemas/UserRoles'
deductionTemplateId:
type:
- string
- 'null'
disbursement:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/PostPaymentDeductionDisbursement'
sourceInvoiceId:
type:
- string
- 'null'
required:
- amount
- application
- clientId
- createdAt
- currency
- deductionId
- eventActors
- labels
- memberId
- name
- priority
- startDate
- status
- type
- updatedAt
- userRoles
6a65bb5a9fe6d1135b7182baff68e9bc6612ee2c1ab942926fe2804c58663cf4:
type: object
properties:
expenseAccountId:
type:
- string
- 'null'
vendorId:
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
ClientData:
type: object
properties:
autoPayStrategy:
type:
- string
- 'null'
enum:
- All
- None
- null
externalId:
type:
- string
- 'null'
verificationStratgy:
type:
- string
- 'null'
enum:
- None
- All
- null
CollaboratorV2:
type: object
properties:
achCreditAccount:
$ref: '#/components/schemas/MemberClientWireAccount'
clientId:
type: string
collaborations:
type: array
items:
$ref: '#/components/schemas/Collaboration'
createdAt:
type: string
eventActors:
$ref: '#/components/schemas/87539cb97aa7616e350fc0d23c5a49177ea4c4a8bd00ec2a2cfd2a9a5c4e648a'
firstCollaborationId:
type: string
form1099Balances:
$ref: '#/components/schemas/b9789f45f8c8070ff38a64d80c2e4a8732ddaf329e46546474400d26f84c0f1c'
formW9Data:
$ref: '#/components/schemas/CollaboratorV2FormW9Info'
internationalWireAccount:
$ref: '#/components/schemas/MemberClientWireAccount'
labels:
$ref: '#/components/schemas/LabelsDictionary'
member:
$ref: '#/components/schemas/RedactedMember'
memberId:
type: string
primaryCollaborationId:
type: string
status:
type: string
enum:
- Active
- Inactive
- Pending
taxStatus:
type: string
enum:
- Complete
- Failed
- Pending
- Incomplete
updatedAt:
type: string
userRoles:
$ref: '#/components/schemas/UserRoles'
clientData:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/ClientData'
memberData:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/MemberData'
memberEvents:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/CollaboratorEvents'
required:
- achCreditAccount
- clientId
- collaborations
- createdAt
- eventActors
- firstCollaborationId
- form1099Balances
- formW9Data
- internal
- internationalWireAccount
- labels
- member
- memberId
- primaryCollaborationId
- status
- taxStatus
- updatedAt
- userRoles
MemberClientWireAccount:
type: object
properties:
accountNumber:
type: string
bankName:
type: string
routingNumber:
type:
- string
- 'null'
swiftCode:
type:
- string
- 'null'
required:
- accountNumber
- bankName
MemberClientRequirementResponse:
type: object
properties:
clientId:
type: string
collaboratorGroupId:
type: string
eligibilityRequirementId:
type: string
requirementType:
type: string
enum:
- Signature
document:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/DocumentResponse'
documentId:
type:
- string
- 'null'
status:
type:
- string
- 'null'
enum:
- New
- Sent
- Pending
- Complete
- null
templateId:
type:
- string
- 'null'
validFor:
type:
- number
- 'null'
required:
- clientId
- collaboratorGroupId
- eligibilityRequirementId
- requirementType
RedactedMember:
type: object
properties:
user:
$ref: '#/components/schemas/RedactedUser'
profile:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/23d776fc12e56286a20f36065e4f942c43a28218a62eb2f211116c130deb74eb'
required:
- user
b9789f45f8c8070ff38a64d80c2e4a8732ddaf329e46546474400d26f84c0f1c:
type: object
properties:
'2021':
oneOf:
- type: 'null'
- $ref: '#/components/schemas/MemberClientForm1099Balances'
'2022':
oneOf:
- type: 'null'
- $ref: '#/components/schemas/MemberClientForm1099Balances'
UserRoles:
type: object
properties:
ownerIds:
type: array
items:
type: string
viewerIds:
type: array
items:
type: string
required:
- ownerIds
- viewerIds
d750b2d9403b5bcbdb3c96c89f1cc713df563d587f16e5f39f5ab546c08a20a0:
type: object
properties:
quickbooks:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/64846136a354aa510825c1f23c3a978f4c816d8d4184311e7294a570f73727dc'
CollaboratorV2FormW9Info:
type: object
properties:
addressLine1:
type: string
city:
type: string
companyStructure:
type: string
enum:
- None
- SoleProprietorship
- LlcSingleMember
- LlcMultiMember
- CorporationS
- LLCCorporationS
- LLCCorporationC
- LLCPartnership
- CorporationC
- Partnership
country:
type: string
postalCode:
type: string
state:
type: string
addressLine2:
type:
- string
- 'null'
dob:
type:
- string
- 'null'
ein:
type:
- string
- 'null'
firstName:
type:
- string
- 'null'
lastName:
type:
- string
- 'null'
legalBusinessName:
type:
- string
- 'null'
ssnLastFour:
type:
- string
- 'null'
required:
- addressLine1
- city
- companyStructure
- country
- postalCode
- state
26e8ea23ccb1e007e7d6560175c7e75c768dac34727b7fe1d834ca24b8221ef4:
type: object
properties:
quickbooks:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/6a65bb5a9fe6d1135b7182baff68e9bc6612ee2c1ab942926fe2804c58663cf4'
ce853dbef33b2b91880690c84bc5314340c1301fd7b3503dd6ce79c844e2a481:
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'
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'
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
DocumentFiles:
type: object
properties:
client:
type:
- string
- 'null'
member:
type:
- string
- 'null'
DeductionCreateRequest:
type: object
properties:
amount:
type: number
clientId:
type: string
currency:
type: string
enum:
- USD
- CAD
memberId:
type: string
name:
type: string
type:
type: string
enum:
- PrePayment
- PostPayment
priority:
type:
- number
- 'null'
sourceInvoiceId:
type:
- string
- 'null'
startDate:
type:
- string
- 'null'
required:
- amount
- clientId
- currency
- memberId
- name
- type
CompanyPerson:
type: object
properties:
memberId:
type: string
ownershipPercentage:
type:
- number
- 'null'
required:
- memberId
Company:
type: object
properties:
banking:
type:
- boolean
- 'null'
companyOwners:
type:
- array
- 'null'
items:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/CompanyPerson'
description:
type:
- string
- 'null'
disregardedEntityName:
type:
- string
- 'null'
legalBusinessName:
type:
- string
- 'null'
links:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/CompanyLinks'
name:
type:
- string
- 'null'
stateOfIncorporation:
type:
- string
- 'null'
structure:
type:
- string
- 'null'
enum:
- None
- SoleProprietorship
- LlcSingleMember
- LlcMultiMember
- CorporationS
- LLCCorporationS
- LLCCorporationC
- LLCPartnership
- CorporationC
- Partnership
- null
supportEmail:
type:
- string
- 'null'
taxId:
type:
- string
- 'null'
website:
type:
- string
- 'null'
yearOfIncorporation:
type:
- string
- 'null'
DocumentEvents:
type: object
properties:
clientSignedAt:
type:
- string
- 'null'
memberSignedAt:
type:
- string
- 'null'
64846136a354aa510825c1f23c3a978f4c816d8d4184311e7294a570f73727dc:
type: object
properties:
customerId:
type:
- string
- 'null'
itemId:
type:
- string
- 'null'
PostPaymentDeductionDisbursement:
type: object
properties:
inputs:
$ref: '#/components/schemas/87539cb97aa7616e350fc0d23c5a49177ea4c4a8bd00ec2a2cfd2a9a5c4e648a'
strategy:
type: string
required:
- inputs
- strategy
MemberClientUpdateRequest:
type: object
properties:
clientData:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/ClientData'
clientId:
type:
- string
- 'null'
company:
type:
- string
- 'null'
emailCC:
type:
- array
- 'null'
items:
type:
- string
- 'null'
emailTo:
type:
- string
- 'null'
form1099Balances:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/90f96495b02c2509fff131505484d46479a91b7d23ed2b0f438ca117d0bccad7'
formW9Data:
oneOf:
- type: 'null'
- type: object
integration:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/3d33fba3f009de957b3be92fba006d6383af7e39f823cc1fd213506f6205100f'
labels:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/LabelsDictionary'
memberData:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/MemberData'
name:
type:
- string
- 'null'
status:
type:
- string
- 'null'
enum:
- Active
- Inactive
- Pending
- null
CollaboratorForm1099BalancesUpdateRequest:
type: object
properties:
adjustments:
type:
- number
- 'null'
correction:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/ce853dbef33b2b91880690c84bc5314340c1301fd7b3503dd6ce79c844e2a481'
deliveryMethod:
type:
- string
- 'null'
enum:
- Electronic
- Mail
- Both
- null
dispute:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/8a9c6cb49482a98cdd603ff09858cdc3e5ef6ad9807c876c4161d925a96694a5'
events:
oneOf:
- type: 'null'
- type: object
status:
type:
- string
- 'null'
enum:
- Ready
- NeedsActionInfo
- NeedsActionDispute
- Submitted
- Rejected
- Accepted
- Excluded
- null
LabelsDictionary:
type: object
additionalProperties:
type: string
f6f2bd1a2fc7bad4e0d8f22345fc5f6699d096b7797b93575869c544a4fc5cef:
type: object
properties:
firstName:
type:
- string
- 'null'
lastName:
type:
- string
- 'null'
CollaboratorEvents:
type: object
properties:
knowYourCustomerVerifiedAt:
type: string
payoutMethodFirstAddedAt:
type: string
taxDocumentationVerifiedAt:
type: string
signedUpAt:
type:
- string
- 'null'
required:
- knowYourCustomerVerifiedAt
- payoutMethodFirstAddedAt
- taxDocumentationVerifiedAt
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'
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'
Collaboration:
type: object
properties:
collaboratorId:
type: string
status:
type: string
enum:
- Active
- Inactive
- Pending
clientData:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/ClientData'
collaboratorGroupIds:
type:
- array
- 'null'
items:
type:
- string
- 'null'
eligibilityRequirements:
t
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wingspan/refs/heads/main/openapi/wingspan-client-management-api-openapi.yml