Shareworks Grant API
The Grant API from Shareworks — 2 operation(s) for grant.
The Grant API from Shareworks — 2 operation(s) for grant.
openapi: 3.0.1
info:
title: Shareworks Admin REST Authentication Token Grant 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: Grant
paths:
/v1/company/{companyId}/stakeholder/{stakeholderId}/grant:
get:
tags:
- Grant
summary: GET Grant (All)
description: Retrieve the details of all grants belonging to the specified stakeholder
operationId: getStakeholderGrants
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: stakeholderId
in: path
required: true
schema:
type: integer
format: int32
- name: pageSize
in: query
description: Number of items to return per page. Default is 50. Maximum is 250
schema:
type: integer
format: int32
- name: pageNumber
in: query
description: Which page of the data set to fetch. Default is 1.
schema:
type: integer
format: int32
responses:
'200':
description: OK
headers:
Page-Number:
description: Identifies which page of the target data set is returned in this response (1 to n). (Only present when the response is paginated)
style: simple
Page-Size:
description: The number of items per page used to paginate the target data set. (Only present when the response is paginated)
style: simple
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StakeholderGrantDetails'
'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
post:
tags:
- Grant
summary: POST Grant (Create)
description: Create a grant for the specified stakeholder
operationId: createStakeholderGrant
parameters:
- name: Shareworks-Request-Id
in: header
description: An identifier unique to this request. If a connection is broken or a response does not come in a timely manner, submit the same request again with this same identifier. Shareworks ensures that duplicate requests with the same identifier will only be processed once and will all return the same response.
required: true
schema:
type: string
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: stakeholderId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderGrantCrudRequest'
responses:
'201':
description: Created. An object is created and returned
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderGrantDetails'
'400':
description: "The request was unacceptable, often due to missing a required parameter, malformed query, or malformed request body.\n\nAlso occurs when using Shareworks-Request-Id header if: \n- A previous request with the identifier has been submitted but is not yet complete \n - errors[] will include {code: 461, message: A request with the provided Shareworks-Request-Id is currently in-progress} \n- A previous, but different, request was already processed with the same identifier \n - errors[] will include {code: 460, message: The provided Shareworks-Request-Id header is not unique for this user}"
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/grant/{grantId}:
get:
tags:
- Grant
summary: GET Grant (Single)
description: Retrieve the details of the specified grant
operationId: getStakeholderGrant
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: grantId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderGrantDetails'
'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
put:
tags:
- Grant
summary: PUT Grant (Update)
description: Update the details of the specified grant
operationId: updateStakeholderGrant
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: grantId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderGrantCrudRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderGrantDetails'
'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:
StakeholderGrantCrudRequest:
title: Grant Body
required:
- allowEarlyExercise
- awardTypeId
- expiryDate
- grantCurrency
- grantDate
- grantPrice
- grantedShares
- planId
- underRule701
- vestingScheduleId
type: object
properties:
planId:
type: integer
description: Identifier for the company plan
format: int32
grantName:
type: string
description: Name for the grant, typically generated
awardTypeId:
type: integer
description: Identifier for the company award type
format: int32
grantDate:
type: string
description: Date on which the shares are granted
format: date
expiryDate:
type: string
description: Expiry date for the grant
format: date
grantPrice:
type: number
description: Price at which the shares are granted
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
grantedShares:
type: number
description: Quantity of shares for the grant
format: double
vestingScheduleId:
type: integer
description: Identifier for the vesting schedule
format: int32
vestingStartDate:
type: string
description: Vesting base or commencement date for the vesting schedule
format: date
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
allowEarlyExercise:
type: boolean
description: Whether early exercises are allowed for the grant
underRule701:
type: boolean
description: Whether rule 701 applies to the grant
manualVestingRows:
type: array
description: List of all manual vesting rows for the grant, specified when using a manual vesting schedule
items:
$ref: '#/components/schemas/ManualVestingRowCrudRequest'
vestingAcceleration:
type: array
description: (Optional) List of the vesting acceleration stipulations of the grant. May be empty. Include one stipulation per trigger that is applicable.
items:
$ref: '#/components/schemas/StakeholderGrantAcceleratedVestingCrudRequest'
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.
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
ManualVestingRowCrudRequest:
title: Manual Vesting Row Body
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
StakeholderGrantAcceleratedVestingCrudRequest:
title: Vesting Acceleration Body
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: (Optional) List of the vesting acceleration stipulations of the grant. May be empty. Include one stipulation per trigger that is applicable.
StakeholderGrantDetails:
title: Grant Response
required:
- allowEarlyExercise
- awardTypeId
- awardTypeName
- expiryDate
- grantCurrency
- grantDate
- grantId
- grantName
- grantNumber
- grantPrice
- grantedShares
- marketPriceAtTimeOfGrant
- planId
- stakeholderId
- underRule701
- vestingScheduleId
- vestingScheduleName
- vestingStartDate
type: object
properties:
grantId:
type: integer
description: Identifier for the grant
format: int32
planId:
type: integer
description: Identifier for the company plan
format: int32
stakeholderId:
type: integer
description: Identifier for the stakeholder
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
grantedShares:
type: number
description: Quantity of shares for the grant
format: double
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'
vestingAcceleration:
type: array
description: List of the vesting acceleration stipulations of the grant. May be empty.
items:
$ref: '#/components/schemas/StakeholderGrantAcceleratedVestingDetails'
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