Shareworks Company Board API
The Company Board API from Shareworks — 3 operation(s) for company board.
The Company Board API from Shareworks — 3 operation(s) for company board.
openapi: 3.0.1
info:
title: Shareworks Admin REST Authentication Token Company Board 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 Board
paths:
/v1/company/{companyId}/board/appointment:
post:
tags:
- Company Board
summary: POST Company Board Appointment (Create)
description: Create a company board appointment to assign a stakeholder to the board
operationId: createAppointment
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
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardAppointmentCreateCrudRequest'
responses:
'201':
description: Created. An object is created and returned
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardAppointmentDetails'
'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}/board:
get:
tags:
- Company Board
summary: GET Company Board
description: Retrieve the details of the company board for officer/director tracking, including details of the company board appointments
operationId: getCompanyBoard
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardDetailsWithAppointments'
'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 Board
summary: PUT Company Board (Update)
description: Update the details of the company board for officer/director tracking
operationId: updateCompanyBoard
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardCrudRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardDetails'
'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 Board
summary: POST Company Board (Create)
description: Create the company board for officer/director tracking
operationId: createCompanyBoard
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
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardCrudRequest'
responses:
'201':
description: Created. An object is created and returned
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardDetails'
'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}/board/appointment/{appointmentId}:
get:
tags:
- Company Board
summary: GET Company Board Appointment
description: Retrieve the details of the specified company board assignment
operationId: getBoardAppointment
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: appointmentId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardAppointmentDetails'
'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 Board
summary: 'PUT Company Board Appointment (Update) '
description: Update the details of the specified company board appointment
operationId: updateAppointment
parameters:
- name: companyId
in: path
required: true
schema:
type: integer
format: int32
- name: appointmentId
in: path
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardAppointmentUpdateCrudRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyBoardAppointmentDetails'
'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:
CompanyBoardAppointmentUpdateCrudRequest:
title: Company Board Appointment Body
required:
- dateAppointed
- isDirector
- isIndependent
- isOfficer
- title
type: object
properties:
title:
type: string
description: Title of the stakeholder position on the board (e.g. CFO)
isIndependent:
type: boolean
description: Whether the company board appointment is an independent
isDirector:
type: boolean
description: Whether the company board appointment is a director
isOfficer:
type: boolean
description: Whether the company board appointment is an officer
dateAppointed:
type: string
description: Date of appointment for the company board appointment
format: date
dateApproved:
type: string
description: Date of approval for the company board appointment
format: date
dateTerminated:
type: string
description: Date of termination for the company board appointment
format: date
note:
type: string
description: Notes for the company board appointment
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
CompanyBoardAppointmentCreateCrudRequest:
title: Company Board Appointment Body
required:
- dateAppointed
- isDirector
- isIndependent
- isOfficer
- stakeholderId
- title
type: object
properties:
stakeholderId:
type: integer
description: Identifier for the stakeholder
format: int32
title:
type: string
description: Title of the stakeholder position on the board (e.g. CFO)
isIndependent:
type: boolean
description: Whether the company board appointment is an independent
isDirector:
type: boolean
description: Whether the company board appointment is a director
isOfficer:
type: boolean
description: Whether the company board appointment is an officer
dateAppointed:
type: string
description: Date of appointment for the company board appointment
format: date
dateApproved:
type: string
description: Date of approval for the company board appointment
format: date
dateTerminated:
type: string
description: Date of termination for the company board appointment
format: date
note:
type: string
description: Notes for the company board appointment
CompanyBoardCrudRequest:
title: Company Board Body
required:
- maximumSize
- minimumSize
- setAtSize
type: object
properties:
maximumSize:
type: integer
description: Maximum number of stakeholders that may be on the board at one time
format: int64
minimumSize:
type: integer
description: Minimum number of stakeholders that must be on the board at one time
format: int64
setAtSize:
type: integer
description: The default, general, or target value at which the board is set and from which vacancies are relatively calculated
format: int64
quorumSize:
type: integer
description: Minimum amount of members required to be present to have a quorum
format: int64
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
CompanyBoardDetailsWithAppointments:
title: Company Board Detailed Response
required:
- appointments
- boardId
- maximumSize
- minimumSize
- setAtSize
type: object
properties:
boardId:
type: integer
description: Identifier for the company board
format: int32
maximumSize:
type: integer
description: Maximum number of stakeholders that may be on the board at one time
format: int64
minimumSize:
type: integer
description: Minimum number of stakeholders that must be on the board at one time
format: int64
setAtSize:
type: integer
description: The default, general, or target value at which the board is set and from which vacancies are relatively calculated
format: int64
quorumSize:
type: integer
description: Minimum amount of members required to be present to have a quorum
format: int64
appointments:
type: array
description: List of all company board appointments
items:
$ref: '#/components/schemas/CompanyBoardAppointmentDetails'
CompanyBoardDetails:
title: Company Board Response
required:
- boardId
- maximumSize
- minimumSize
- setAtSize
type: object
properties:
boardId:
type: integer
description: Identifier for the company board
format: int32
minimumSize:
type: integer
description: Minimum number of stakeholders that must be on the board at one time
format: int64
maximumSize:
type: integer
description: Maximum number of stakeholders that may be on the board at one time
format: int64
setAtSize:
type: integer
description: The default, general, or target value at which the board is set and from which vacancies are relatively calculated
format: int64
quorumSize:
type: integer
description: Minimum amount of members required to be present to have a quorum
format: int64
CompanyBoardAppointmentDetails:
title: Company Board Appointment Response
required:
- appointmentId
- dateAppointed
- email
- isDeleted
- isDirector
- isIndependent
- isOfficer
- name
- stakeholderId
- title
type: object
properties:
appointmentId:
type: integer
description: Identifier for the company board appointment
format: int32
stakeholderId:
type: integer
description: Identifier for the stakeholder
format: int32
name:
type: string
description: Formatted full name for the stakeholder
email:
type: string
description: Personal email address for the stakeholder
title:
type: string
description: Title of the stakeholder position on the board (e.g. CFO)
isIndependent:
type: boolean
description: Whether the company board appointment is an independent
isDirector:
type: boolean
description: Whether the company board appointment is a director
isOfficer:
type: boolean
description: Whether the company board appointment is an officer
isDeleted:
type: boolean
description: Whether the company board appointment has been removed
dateAppointed:
type: string
description: Date of appointment for the company board appointment
format: date
dateApproved:
type: string
description: Date of approval for the company board appointment
format: date
dateTerminated:
type: string
description: Date of termination for the company board appointment
format: date
note:
type: string
description: Notes for the company board appointment
securitySchemes:
accessToken:
type: http
scheme: bearer
bearerFormat: JWT