Shareworks Holdings API
The Holdings API from Shareworks — 2 operation(s) for holdings.
The Holdings API from Shareworks — 2 operation(s) for holdings.
openapi: 3.0.1
info:
title: Shareworks Admin REST Authentication Token Holdings API
description: Shareworks Admin REST API
version: 1.0.0
servers:
- url: https://shareworks.solium.com/rest/admin
description: Production
- url: https://sum-qa02.shareworks.com/rest/admin
description: Sandbox
security:
- accessToken: []
tags:
- name: Holdings
paths:
/v1/company/{companyId}/stakeholder/holdings:
get:
tags:
- Holdings
summary: GET Holdings (All)
description: Retrieve the calculated summary of the holding for all stakeholders in the company. This includes the calculated breakdown for all individual stock certificates and grants
operationId: getAllStakeholderHoldings
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StakeholderHoldingsSummaryDetails'
'400':
description: The request was unacceptable, often due to missing a required parameter, malformed query, or malformed request body.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'401':
description: You request was successful and valid but you do not have access to this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'403':
description: When a request tries to access a resource that doesn't belong to them.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'422':
description: There was a validation error. Check the error message to see what values caused the error.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'500':
description: Servers are not working as expected.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
/v1/company/{companyId}/stakeholder/holdings/{stakeholderId}:
get:
tags:
- Holdings
summary: GET Holdings (Single)
description: Retrieve the calculated summary of the holding for a single stakeholder. This includes the calculated breakdown for all individual stock certificates and grants
operationId: getStakeholderHoldings
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: stakeholderId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderHoldingsSummaryDetails'
'400':
description: The request was unacceptable, often due to missing a required parameter, malformed query, or malformed request body.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'401':
description: You request was successful and valid but you do not have access to this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'403':
description: When a request tries to access a resource that doesn't belong to them.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'422':
description: There was a validation error. Check the error message to see what values caused the error.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
'500':
description: Servers are not working as expected.
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiErrorResponse'
encoding:
? ''
: contentType: application/json
components:
schemas:
ErrorWithCode:
title: Validation Error
required:
- code
- message
type: object
properties:
message:
type: string
description: Message describing the error
code:
type: integer
description: Unique code for the validation error
format: int32
StakeholderGrantAcceleratedVestingDetails:
title: Accelerated Vesting Response
required:
- accelerationPercent
- accelerationPeriod
- accelerationTrigger
type: object
properties:
accelerationTrigger:
type: string
description: 'The name of the event that will trigger vesting acceleration: TERMINATION_WITHOUT_CAUSE, RESIGNATION_FOR_GOOD_REASON, or CHANGE_OF_CONTROL'
accelerationPeriod:
type: integer
description: The number of months after the trigger event that vesting acceleration will occur (0 to 60). A value > 0 defines a double-trigger acceleration
format: int32
accelerationPercent:
type: integer
description: The percent of the unvested shares that will be accelerated (1 to 100)
format: int32
description: List of the vesting acceleration stipulations of the grant. May be empty.
StakeholderHoldingsDetails:
title: Holdings Summary Response
required:
- grants
- stockCertificates
type: object
properties:
stockCertificates:
type: array
description: List of stock certificates held by the stakeholder
items:
$ref: '#/components/schemas/StockCertificateSummaryDetails'
grants:
type: array
description: List of grants held by the stakeholder
items:
$ref: '#/components/schemas/StakeholderGrantSummaryDetails'
description: List of all stakeholder holdings (excepting warrants and convertible promissory notes, as yet unsupported)
RestApiErrorResponse:
title: Error Response
required:
- code
- errorId
- message
type: object
properties:
code:
type: string
description: Code representing the type of error
message:
type: string
description: Message describing the error
errors:
type: array
description: List of all further error details, usually due to validation checks
items:
$ref: '#/components/schemas/ErrorWithCode'
errorId:
type: string
description: Identifier for the error
StakeholderGrantSummaryDetails:
title: Grant Summary Response
required:
- allowEarlyExercise
- awardTypeId
- awardTypeName
- cancelledShares
- exercisedShares
- expiryDate
- grantCurrency
- grantDate
- grantId
- grantName
- grantNumber
- grantPrice
- grantedShares
- marketPriceAtTimeOfGrant
- outstandingShares
- planId
- stakeholderId
- underRule701
- vestingScheduleId
- vestingScheduleName
- vestingStartDate
type: object
properties:
grantId:
type: integer
description: Identifier for the grant
format: int32
stakeholderId:
type: integer
description: Identifier for the stakeholder
format: int32
planId:
type: integer
description: Identifier for the company plan
format: int32
awardTypeId:
type: integer
description: Identifier for the company award type
format: int32
awardTypeName:
type: string
description: Name for the company award type
grantName:
type: string
description: Name for the grant, typically generated
grantNumber:
type: string
description: Number for the grant, typically generated
grantPrice:
type: number
description: Price at which the shares are granted
format: double
marketPriceAtTimeOfGrant:
type: number
description: The fair market value (or latest 409A valuation for private companies) at the time of grant (this is typically auto-populated from the most recent quote, but can also be specified if desired)
format: double
grantCurrency:
type: string
description: Currency for the grant price / market price at time of grant
enum:
- USD
- CAD
- GBP
- EUR
- JPY
- AUD
- KRW
- DZD
- AOA
- ARS
- AMD
- AWG
- BSD
- BHD
- BDT
- BBD
- BOB
- BWP
- BRL
- BND
- BGN
- BZD
- KYD
- CLP
- CNY
- COP
- CRC
- HRK
- CZK
- DKK
- DOP
- XCD
- EGP
- ETB
- FJD
- XAF
- GMD
- GHS
- GIP
- GTQ
- HNL
- HKD
- HUF
- ISK
- INR
- IDR
- IQD
- ILS
- JMD
- JOD
- KZT
- KES
- KWD
- LSL
- MOP
- MWK
- MYR
- MUR
- MXN
- MAD
- MZN
- MMK
- NAD
- ANG
- NZD
- NGN
- NOK
- OMR
- PKR
- PAB
- PGK
- PYG
- PEN
- PHP
- PLN
- QAR
- RON
- RUB
- SAR
- RSD
- SCR
- SGD
- ZAR
- SDG
- LKR
- SZL
- SEK
- CHF
- TWD
- TZS
- THB
- TTD
- TND
- TRY
- UGX
- UAH
- AED
- UYU
- UZS
- VEF
- VES
- VND
- XOF
- ZWL
- ZMW
grantDate:
type: string
description: Date on which the shares are granted
format: date
expiryDate:
type: string
description: Expiry date for the grant
format: date
allowEarlyExercise:
type: boolean
description: Whether early exercises are allowed for the grant
underRule701:
type: boolean
description: Whether rule 701 applies to the grant
vestingScheduleId:
type: integer
description: Identifier for the vesting schedule
format: int32
vestingScheduleName:
type: string
description: Name for the vesting schedule
vestingStartDate:
type: string
description: Vesting base or commencement date for the vesting schedule
format: date
manualVestingRows:
type: array
description: List of all manual vesting rows for the grant, specified when using a manual vesting schedule
items:
$ref: '#/components/schemas/ManualVestingRowDetails'
grantedShares:
type: number
description: Quantity of shares for the grant
format: double
cancelledShares:
type: number
description: Number of shares cancelled for the grant
format: double
exercisedShares:
type: number
description: Number of shares exercised for the grant
format: double
outstandingShares:
type: number
description: Number of shares outstanding for the grant
format: double
vestingAcceleration:
type: array
description: List of the vesting acceleration stipulations of the grant. May be empty.
items:
$ref: '#/components/schemas/StakeholderGrantAcceleratedVestingDetails'
description: List of grants held by the stakeholder
StakeholderHoldingsSummaryDetails:
title: Stakeholder Holdings Response
required:
- designationsParticipated
- holdings
- percentOwnershipTotalCommonStockEquivalent
- percentOwnershipTotalOutstanding
- stakeholderId
- stakeholderName
- totalCommonStockEquivalentShares
- totalOutstandingShares
type: object
properties:
stakeholderId:
type: integer
description: Identifier for the stakeholder
format: int32
stakeholderName:
type: string
description: Formatted full name for the stakeholder
totalOutstandingShares:
type: number
description: Total outstanding shares across all holdings for the stakeholder
format: double
totalCommonStockEquivalentShares:
type: number
description: Total common equivalent (a.k.a. fully diluted) shares across all holdings for the stakeholder
format: double
percentOwnershipTotalOutstanding:
type: number
description: Percentage representing the fraction of total outstanding shares across all holdings for the stakeholder
format: double
percentOwnershipTotalCommonStockEquivalent:
type: number
description: Percentage representing the fraction of total common equivalent (a.k.a. fully diluted) shares across all holdings for the stakeholder
format: double
designationsParticipated:
type: array
description: List of all the designations a stakeholder has participated in
items:
type: string
description: List of all the designations a stakeholder has participated in
holdings:
$ref: '#/components/schemas/StakeholderHoldingsDetails'
StockCertificateSummaryDetails:
title: Stock Certificate Summary Response
required:
- effectiveDate
- issuePrice
- issueReason
- quantity
- stakeholderId
- stockCertificateId
- stockCertificateNumber
- stockDesignationId
- stockDesignationName
- unvestedQuantity
- vestedQuantity
type: object
properties:
stockCertificateId:
type: integer
description: Identifier for the stock certificate
format: int32
stakeholderId:
type: integer
description: Identifier for the stakeholder
format: int32
stockDesignationId:
type: integer
description: Identifier for the stock designation
format: int32
stockDesignationName:
type: string
description: Name for the stock designation
stockCertificateNumber:
type: string
description: Number for the stock certificate
quantity:
type: number
description: Quantity of shares for the stock certificate
format: double
issuePrice:
type: number
description: Issue price (a.k.a. strike price) for the stock certificate
format: double
issueReason:
type: string
description: Issue reason for the stock certificate
enum:
- ORIGINAL_ISSUANCE
- ORIGINAL_ISSUANCE_WITH_VESTING
- OTHER
effectiveDate:
type: string
description: Effective date for the stock certificate
format: date
boardApprovalDate:
type: string
description: Board approval date for the stock certificate (if not supplied, the certificate will be created with an unapproved status)
format: date
vestingScheduleId:
type: integer
description: Identifier for the vesting schedule
format: int32
vestingScheduleName:
type: string
description: Name for the vesting schedule
vestingStartDate:
type: string
description: Vesting base or commencement date for the vesting schedule
format: date
manualVestingRows:
type: array
description: List of all manual vesting rows for the stock certificate, specified when using a manual vesting schedule
items:
$ref: '#/components/schemas/ManualVestingRowDetails'
vestedQuantity:
type: number
description: Quantity of the total shares which are vested
format: double
unvestedQuantity:
type: number
description: Quantity of the total shares which are yet unvested, and are only held as the result of an early exercise
format: double
description: List of stock certificates held by the stakeholder
ManualVestingRowDetails:
title: Manual Vesting Row Response
required:
- vestQuantity
type: object
properties:
vestDate:
type: string
description: Date on which the vesting occurs for the row/tranche
format: date
vestQuantity:
type: number
description: Quantity of shares to vest for the row/tranche
format: double
description: List of all manual vesting rows for the grant, specified when using a manual vesting schedule
securitySchemes:
accessToken:
type: http
scheme: bearer
bearerFormat: JWT