Shareworks Company API
The Company API from Shareworks — 2 operation(s) for company.
The Company API from Shareworks — 2 operation(s) for company.
openapi: 3.0.1
info:
title: Shareworks Admin REST Authentication Token Company 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: Company
paths:
/v1/company:
get:
tags:
- Company
summary: GET Company (All)
description: Retrieve the details of all managed companies
operationId: getAllCompanyDetails
parameters:
- 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/CompanyDetails'
'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:
- Company
summary: POST Company (Create)
description: Create a new private company with the default setup
operationId: createCompany
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: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyCrudRequest'
responses:
'201':
description: Created. An object is created and returned
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyDetails'
'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}:
get:
tags:
- Company
summary: GET Company (Single)
description: Retrieve the details of the specified company
operationId: getCompanyDetails
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyDetails'
'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:
- Company
summary: PUT Company (Update)
description: Update the details of the specified company
operationId: updateCompany
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyCrudRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyDetails'
'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:
CompanyContactDetails:
title: Company Contact Response
required:
- contactId
- name
type: object
properties:
contactId:
type: integer
description: Identifier for the company contact
format: int32
name:
type: string
description: Full name for the company contact
title:
type: string
description: Title for the company contact (e.g. CEO)
primaryEmailAddress:
type: string
description: Email address for the company contact
primaryPhone:
type: string
description: Primary phone number for the company contact
primaryPhoneExt:
type: string
description: Primary phone extension for the company contact, if applicable
description: List of all company contacts
CompanyContactCrudRequest:
title: Company Contact Body
required:
- name
- primaryEmailAddress
- primaryPhone
- title
type: object
properties:
name:
type: string
description: Full name for the company contact
title:
type: string
description: Title for the company contact (e.g. CEO)
primaryEmailAddress:
type: string
description: Email address for the company contact
primaryPhone:
type: string
description: Primary phone number for the company contact
primaryPhoneExt:
type: string
description: Primary phone extension for the company contact, if applicable
description: List of all company contacts
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
CompanyDetails:
title: Company Response
required:
- companyName
type: object
properties:
companyId:
type: integer
description: Identifier for the company
format: int32
companyName:
type: string
description: Name for the company
enforceOneToOneDesignationToFund:
type: boolean
description: Require unique Fund for each Designation
phone:
type: string
description: Primary phone number for the company
fiscalYearEnd:
type: string
description: Fiscal year end for the company
format: date
stateOfIncorporation:
type: string
description: The state of incorporation for the company, if it is U.S.-based
enum:
- CA_AB
- CA_BC
- CA_MB
- CA_NB
- CA_NL
- CA_NS
- CA_NT
- CA_NU
- CA_ON
- CA_PE
- CA_QC
- CA_SK
- CA_YT
- US_AK
- US_AL
- US_AR
- US_AZ
- US_CA
- US_CO
- US_CT
- US_DC
- US_DE
- US_FL
- US_GA
- US_HI
- US_IA
- US_ID
- US_IL
- US_IN
- US_KS
- US_KY
- US_LA
- US_MA
- US_MD
- US_ME
- US_MI
- US_MN
- US_MO
- US_MS
- US_MT
- US_NC
- US_ND
- US_NE
- US_NH
- US_NJ
- US_NM
- US_NV
- US_NY
- US_OH
- US_OK
- US_OR
- US_PA
- US_RI
- US_SC
- US_SD
- US_TN
- US_TX
- US_UT
- US_VA
- US_VT
- US_WA
- US_WI
- US_WV
- US_WY
- US_AA
- US_AE
- US_AP
- AS
- GU
- MP
- PR
- VI
- AU_ACT
- AU_NSW
- AU_NT
- AU_QLD
- AU_SA
- AU_TAS
- AU_VIC
- AU_WA
- DE_BW
- DE_BY
- DE_BE
- DE_BB
- DE_HB
- DE_HH
- DE_HE
- DE_MV
- DE_NI
- DE_NW
- DE_RP
- DE_SL
- DE_SN
- DE_ST
- DE_SH
- DE_TH
- CH_ZH
- CH_BE
- CH_LU
- CH_UR
- CH_SZ
- CH_OW
- CH_NW
- CH_GL
- CH_ZG
- CH_FR
- CH_SO
- CH_BS
- CH_BL
- CH_SH
- CH_AR
- CH_AI
- CH_SG
- CH_GR
- CH_AG
- CH_TG
- CH_TI
- CH_VD
- CH_VS
- CH_NE
- CH_GE
- CH_JU
- IT_21
- IT_23
- IT_25
- IT_32
- IT_34
- IT_36
- IT_42
- IT_45
- IT_52
- IT_55
- IT_57
- IT_62
- IT_65
- IT_67
- IT_72
- IT_75
- IT_77
- IT_78
- IT_82
- IT_88
dateOfIncorporation:
type: string
description: The date of incorporation for the company
format: date
entityType:
type: string
description: Entity type for the company (e.g. LLC)
enum:
- C_CORP
- S_CORP
- LLC
- SOLE_PROPRIETORSHIP
- PARTNERSHIP
- UNINCORPORATED_GROUP
- ASSOCIATION
- UNKNOWN
companyAddresses:
type: array
description: List of up to three company addresses
items:
$ref: '#/components/schemas/CompanyAddressDetails'
contacts:
type: array
description: List of all company contacts
items:
$ref: '#/components/schemas/CompanyContactDetails'
CompanyAddressCrudRequest:
title: Company Address Body
required:
- addressLine1
- addressType
- city
- country
- postalCode
type: object
properties:
addressLine1:
type: string
description: First address line
addressLine2:
type: string
description: Second address line, if needed
addressLine3:
type: string
description: Third address line, if needed
city:
type: string
description: City or municipality of the address
stateProvince:
type: string
description: State or province of the address
enum:
- CA_AB
- CA_BC
- CA_MB
- CA_NB
- CA_NL
- CA_NS
- CA_NT
- CA_NU
- CA_ON
- CA_PE
- CA_QC
- CA_SK
- CA_YT
- US_AK
- US_AL
- US_AR
- US_AZ
- US_CA
- US_CO
- US_CT
- US_DC
- US_DE
- US_FL
- US_GA
- US_HI
- US_IA
- US_ID
- US_IL
- US_IN
- US_KS
- US_KY
- US_LA
- US_MA
- US_MD
- US_ME
- US_MI
- US_MN
- US_MO
- US_MS
- US_MT
- US_NC
- US_ND
- US_NE
- US_NH
- US_NJ
- US_NM
- US_NV
- US_NY
- US_OH
- US_OK
- US_OR
- US_PA
- US_RI
- US_SC
- US_SD
- US_TN
- US_TX
- US_UT
- US_VA
- US_VT
- US_WA
- US_WI
- US_WV
- US_WY
- US_AA
- US_AE
- US_AP
- AS
- GU
- MP
- PR
- VI
- AU_ACT
- AU_NSW
- AU_NT
- AU_QLD
- AU_SA
- AU_TAS
- AU_VIC
- AU_WA
- DE_BW
- DE_BY
- DE_BE
- DE_BB
- DE_HB
- DE_HH
- DE_HE
- DE_MV
- DE_NI
- DE_NW
- DE_RP
- DE_SL
- DE_SN
- DE_ST
- DE_SH
- DE_TH
- CH_ZH
- CH_BE
- CH_LU
- CH_UR
- CH_SZ
- CH_OW
- CH_NW
- CH_GL
- CH_ZG
- CH_FR
- CH_SO
- CH_BS
- CH_BL
- CH_SH
- CH_AR
- CH_AI
- CH_SG
- CH_GR
- CH_AG
- CH_TG
- CH_TI
- CH_VD
- CH_VS
- CH_NE
- CH_GE
- CH_JU
- IT_21
- IT_23
- IT_25
- IT_32
- IT_34
- IT_36
- IT_42
- IT_45
- IT_52
- IT_55
- IT_57
- IT_62
- IT_65
- IT_67
- IT_72
- IT_75
- IT_77
- IT_78
- IT_82
- IT_88
country:
type: string
description: Country of the address
enum:
- CA
- US
- GB
- AU
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EA
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
postalCode:
type: string
description: Postal code / ZIP code of the address
addressType:
type: string
description: Whether the business address, mailing address, or address for funds delivery
enum:
- BUSINESS
- MAIL
- FUNDS_DELIVERY
description: List of up to three company addresses
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
CompanyCrudRequest:
title: Company Body
required:
- companyName
type: object
properties:
companyName:
type: string
description: Name for the company
phone:
type: string
description: Primary phone number for the company
fiscalYearEnd:
type: string
description: Fiscal year end for the company
format: date
initialNumberOfAuthorizedShares:
type: number
description: Number of shares used when creating the initial stock filing during company setup (if not provided, placeholder quantity of zero is used)
format: double
numberOfSharesWithVestingAllocatedToFounders:
type: number
description: Number of shares from the initial authorized shares that are allocated to the default vesting plan
format: double
parValue:
type: number
description: Par value used when creating the initial stock filing during company setup (if not provided, default value of 0.001 is used)
format: double
stateOfIncorporation:
type: string
description: The state of incorporation for the company, if it is U.S.-based
enum:
- CA_AB
- CA_BC
- CA_MB
- CA_NB
- CA_NL
- CA_NS
- CA_NT
- CA_NU
- CA_ON
- CA_PE
- CA_QC
- CA_SK
- CA_YT
- US_AK
- US_AL
- US_AR
- US_AZ
- US_CA
- US_CO
- US_CT
- US_DC
- US_DE
- US_FL
- US_GA
- US_HI
- US_IA
- US_ID
- US_IL
- US_IN
- US_KS
- US_KY
- US_LA
- US_MA
- US_MD
- US_ME
- US_MI
- US_MN
- US_MO
- US_MS
- US_MT
- US_NC
- US_ND
- US_NE
- US_NH
- US_NJ
- US_NM
- US_NV
- US_NY
- US_OH
- US_OK
- US_OR
- US_PA
- US_RI
- US_SC
- US_SD
- US_TN
- US_TX
- US_UT
- US_VA
- US_VT
- US_WA
- US_WI
- US_WV
- US_WY
- US_AA
- US_AE
- US_AP
- AS
- GU
- MP
- PR
- VI
- AU_ACT
- AU_NSW
- AU_NT
- AU_QLD
- AU_SA
- AU_TAS
- AU_VIC
- AU_WA
- DE_BW
- DE_BY
- DE_BE
- DE_BB
- DE_HB
- DE_HH
- DE_HE
- DE_MV
- DE_NI
- DE_NW
- DE_RP
- DE_SL
- DE_SN
- DE_ST
- DE_SH
- DE_TH
- CH_ZH
- CH_BE
- CH_LU
- CH_UR
- CH_SZ
- CH_OW
- CH_NW
- CH_GL
- CH_ZG
- CH_FR
- CH_SO
- CH_BS
- CH_BL
- CH_SH
- CH_AR
- CH_AI
- CH_SG
- CH_GR
- CH_AG
- CH_TG
- CH_TI
- CH_VD
- CH_VS
- CH_NE
- CH_GE
- CH_JU
- IT_21
- IT_23
- IT_25
- IT_32
- IT_34
- IT_36
- IT_42
- IT_45
- IT_52
- IT_55
- IT_57
- IT_62
- IT_65
- IT_67
- IT_72
- IT_75
- IT_77
- IT_78
- IT_82
- IT_88
dateOfIncorporation:
type: string
description: The date of incorporation for the company
format: date
entityType:
type: string
description: Entity type for the company (e.g. LLC)
enum:
- C_CORP
- S_CORP
- LLC
- SOLE_PROPRIETORSHIP
- PARTNERSHIP
- UNINCORPORATED_GROUP
- ASSOCIATION
- UNKNOWN
contacts:
type: array
description: List of all company contacts
items:
$ref: '#/components/schemas/CompanyContactCrudRequest'
companyAddresses:
type: array
description: List of up to three company addresses
items:
$ref: '#/components/schemas/CompanyAddressCrudRequest'
enforceOneToOneDesignationToFund:
type: boolean
description: Require unique Fund for each Designation
CompanyAddressDetails:
title: Company Address Response
required:
- addressLine1
- addressType
- city
- companyAddressId
- country
type: object
properties:
companyAddressId:
type: integer
description: Identifier for the company address
format: int32
addressLine1:
type: string
description: First address line
addressLine2:
type: string
description: Second address line, if needed
addressLine3:
type: string
description: Third address line, if needed
city:
type: string
description: City or municipality of the address
stateProvince:
type: string
description: State or province of the address
enum:
- CA_AB
- CA_BC
- CA_MB
- CA_NB
- CA_NL
- CA_NS
- CA_NT
- CA_NU
- CA_ON
- CA_PE
- CA_QC
- CA_SK
- CA_YT
- US_AK
- US_AL
- US_AR
- US_AZ
- US_CA
- US_CO
- US_CT
- US_DC
- US_DE
- US_FL
- US_GA
- US_HI
- US_IA
- US_ID
- US_IL
- US_IN
- US_KS
- US_KY
- US_LA
- US_MA
- US_MD
- US_ME
- US_MI
- US_MN
- US_MO
- US_MS
- US_MT
- US_NC
- US_ND
- US_NE
- US_NH
- US_NJ
- US_NM
- US_NV
- US_NY
- US_OH
- US_OK
- US_OR
- US_PA
- US_RI
- US_SC
- US_SD
- US_TN
- US_TX
- US_UT
- US_VA
- US_VT
- US_WA
- US_WI
- US_WV
- US_WY
- US_AA
- US_AE
- US_AP
- AS
- GU
- MP
- PR
- VI
- AU_ACT
- AU_NSW
- AU_NT
- AU_QLD
- AU_SA
- AU_TAS
- AU_VIC
- AU_WA
- DE_BW
- DE_BY
- DE_BE
- DE_BB
- DE_HB
-
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shareworks/refs/heads/main/openapi/shareworks-company-api-openapi.yml