Slope Software Products API

The Products API from Slope Software — 1 operation(s) for products.

OpenAPI Specification

slope-software-products-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Slope Arrays Products API
  version: '1.0'
tags:
- name: Products
paths:
  /api/v1/Products/{ProductId}/ModelPointFields:
    get:
      tags:
      - Products
      summary: Get all model point fields for a product.
      description: 'This endpoint will:

        - Validate the user has permission to view the model

        - Return all model point fields for the specified product

        - Support pagination with offset and limit

        - Support field filtering via the Fields parameter

        - Include Field Name, Field ID, Data Type, IsRequired flag, Scales flags, Default values, and Aliases'
      operationId: GetModelPointFields
      parameters:
      - name: ProductId
        in: path
        description: The ID of the product to get model point fields for.
        required: true
        schema:
          type: integer
          description: The ID of the product to get model point fields for
          format: int32
      - name: Fields
        in: query
        description: "Optional parameter to filter the top-level fields that are returned. \nThe list must be in CSV format. Example: field1,field2,field3"
        schema:
          type: string
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelPointFieldsResponseItemV1'
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelPointFieldsResponseItemV1'
            text/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelPointFieldsResponseItemV1'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '201':
          description: Created
        '400':
          description: Bad Request
        '403':
          description: Not Allowed To Access
        '429':
          description: Too Many Requests
        '401':
          description: Unauthorized
      security:
      - API Token: []
components:
  schemas:
    ModelPointFieldDefaultMethodType:
      enum:
      - None
      - DefinedValue
      type: string
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    FieldDataType:
      enum:
      - Integer
      - Decimal
      - String
      - Date
      - Invalid
      - Boolean
      - DataTable
      - DecrementTable
      - Dynamic
      - ScenarioTable
      - YieldCurve
      type: string
    GetModelPointFieldsResponseItemV1:
      type: object
      properties:
        fieldId:
          type: integer
          format: int32
        fieldName:
          type: string
          nullable: true
        dataType:
          $ref: '#/components/schemas/FieldDataType'
        isRequired:
          type: boolean
        scalesOnPurchaseOrSale:
          type: boolean
        defaultValueSource:
          $ref: '#/components/schemas/ModelPointFieldDefaultMethodType'
        defaultValue:
          type: string
          nullable: true
        aliases:
          type: array
          items:
            type: string
          nullable: true
        isSystemField:
          type: boolean
      additionalProperties: false
    PaginatedResponseGetModelPointFieldsResponseItemV1:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/GetModelPointFieldsResponseItemV1'
          description: Items within the page
          nullable: true
        offset:
          type: integer
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          nullable: true
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
  securitySchemes:
    API Token:
      type: http
      description: The API token received from the Authorize endpoint goes here.
      scheme: Bearer
      bearerFormat: JWT