Shareworks Stock Certificate API

The Stock Certificate API from Shareworks — 2 operation(s) for stock certificate.

OpenAPI Specification

shareworks-stock-certificate-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Shareworks Admin REST Authentication Token Stock Certificate 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: Stock Certificate
paths:
  /v1/company/{companyId}/stakeholder/{stakeholderId}/stock-certificate:
    get:
      tags:
      - Stock Certificate
      summary: GET Stock Certificate (All)
      description: Retrieve the details of all stock certificates belonging to the specified stakeholder
      operationId: getStockCertificates
      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/StockCertificateDetails'
        '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:
      - Stock Certificate
      summary: POST Stock Certificate (Create)
      description: Create a stock certificate for the specified stakeholder
      operationId: createStockCertificate
      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/StockCertificateCrudRequest'
      responses:
        '201':
          description: Created. An object is created and returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockCertificateDetails'
        '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/stock-certificate/{stockCertificateId}:
    get:
      tags:
      - Stock Certificate
      summary: GET Stock Certificate (Single)
      description: Retrieve the details of the specified stock certificates
      operationId: getStockCertificate
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: stockCertificateId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockCertificateDetails'
        '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:
      - Stock Certificate
      summary: PUT Stock Certificate (Update)
      description: Update the details of the specified stock certificate
      operationId: updateStockCertificate
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: stockCertificateId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockCertificateCrudRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockCertificateDetails'
        '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
    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
    StockCertificateDetails:
      title: Stock Certificate Response
      required:
      - effectiveDate
      - issuePrice
      - issueReason
      - quantity
      - stakeholderId
      - stockCertificateId
      - stockCertificateNumber
      - stockDesignationId
      - stockDesignationName
      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'
    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
    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
    StockCertificateCrudRequest:
      title: Stock Certificate Body
      required:
      - effectiveDate
      - issuePrice
      - quantity
      - stockCertificateNumber
      - stockDesignationId
      type: object
      properties:
        stockDesignationId:
          type: integer
          description: Identifier for the stock designation
          format: int32
        effectiveDate:
          type: string
          description: Effective date for the stock certificate
          format: date
        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
        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
        stockCertificateNumber:
          type: string
          description: Number for the stock certificate
        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
        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/ManualVestingRowCrudRequest'
  securitySchemes:
    accessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT