OpenGov Entity Settings API

The entity-settings API from OpenGov — 1 operation(s) for entity-settings.

OpenAPI Specification

opengov-entity-settings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vendor Management Entity Settings API
  description: 'A comprehensive API for managing vendors in the OpenGov platform.


    ## Authentication

    All endpoints require JWT Bearer token authentication. Include the token in the Authorization header:

    ```

    Authorization: Bearer <your-jwt-token>

    ```


    ## Features

    - **Vendor Management**: Create, read, update, and delete vendors

    - **Health Check**: Monitor service health


    ## Rate Limiting

    API calls are subject to rate limiting based on your subscription tier.'
  version: 1.0.0
  contact:
    name: OpenGov API Support
    email: api-support@opengov.com
  license:
    name: Proprietary
    url: https://opengov.com/terms
servers:
- url: https://api.vendor.opengov.com
  description: Production Server
- url: https://api.vendor.ogstaging.us
  description: Staging Server
- url: https://api-vendor.procurement.ogintegration.us
  description: Integration Server
security:
- bearerAuth: []
tags:
- name: entity-settings
paths:
  /api/v1/entities/{entityId}/entity-settings:
    get:
      tags:
      - entity-settings
      operationId: entity-settings.getEntitySettings
      parameters:
      - name: Authorization
        in: header
        description: JWT Bearer token for authentication
        required: true
        schema:
          type: string
          default: Bearer <your-jwt-token>
        example: Bearer <your-jwt-token>
      - name: entityId
        in: path
        schema:
          type: string
        required: true
      - name: include
        in: query
        schema:
          type: string
        required: false
      security:
      - bearerAuth: []
      responses:
        '200':
          description: EntitySettingsModel.json
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitySettingsModel.json'
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/HttpApiDecodeError'
                - $ref: '#/components/schemas/BadRequestHttpError'
        '401':
          description: AuthError
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AuthError'
                - $ref: '#/components/schemas/UnauthenticatedHttpError'
        '403':
          description: UnauthorizedHttpError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedHttpError'
        '404':
          description: EntityNotFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityNotFoundError'
        '500':
          description: InfrastructureError
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  required:
                  - message
                  - _tag
                  properties:
                    message:
                      type: string
                    cause:
                      not: {}
                      title: never
                    _tag:
                      type: string
                      enum:
                      - InfrastructureError
                  additionalProperties: false
                - $ref: '#/components/schemas/InternalServerHttpError'
    patch:
      tags:
      - entity-settings
      operationId: entity-settings.updateEntitySettings
      parameters:
      - name: Authorization
        in: header
        description: JWT Bearer token for authentication
        required: true
        schema:
          type: string
          default: Bearer <your-jwt-token>
        example: Bearer <your-jwt-token>
      - name: entityId
        in: path
        schema:
          type: string
        required: true
      security:
      - bearerAuth: []
      responses:
        '200':
          description: EntitySettingsModel.json
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitySettingsModel.json'
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/HttpApiDecodeError'
                - $ref: '#/components/schemas/BadRequestHttpError'
        '401':
          description: AuthError
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AuthError'
                - $ref: '#/components/schemas/UnauthenticatedHttpError'
        '403':
          description: UnauthorizedHttpError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedHttpError'
        '404':
          description: EntityNotFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityNotFoundError'
        '500':
          description: InfrastructureError
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  required:
                  - message
                  - _tag
                  properties:
                    message:
                      type: string
                    cause:
                      not: {}
                      title: never
                    _tag:
                      type: string
                      enum:
                      - InfrastructureError
                  additionalProperties: false
                - $ref: '#/components/schemas/InternalServerHttpError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitySettingsModel.jsonUpdate'
        required: true
components:
  schemas:
    EntitySettingsModel.json:
      type: object
      required: []
      properties:
        prefix:
          anyOf:
          - type: string
            description: a string matching the pattern ^[A-Za-z0-9]+$
            title: maxLength(10)
            pattern: ^[A-Za-z0-9]+$
            minLength: 1
            maxLength: 10
            allOf:
            - pattern: ^\S[\s\S]*\S$|^\S$|^$
          - type: 'null'
        sequence:
          anyOf:
          - type: number
          - type: 'null'
        vendorFieldRequirements:
          anyOf:
          - type: object
            required: []
            properties: {}
            additionalProperties:
              type: string
              enum:
              - required
              - optional
          - type: 'null'
        sensitiveFields:
          anyOf:
          - type: object
            required: []
            properties: {}
            additionalProperties:
              type: boolean
          - type: 'null'
        customFields:
          anyOf:
          - type: array
            items:
              $ref: '#/components/schemas/EntityCustomFieldsModel.json'
          - type: 'null'
      additionalProperties: false
      title: EntitySettingsModel.json
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    InternalServerHttpError:
      type: object
      required:
      - message
      - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
          - InternalServerHttpError
      additionalProperties: false
    BadRequestHttpError:
      type: object
      required:
      - message
      - _tag
      properties:
        message:
          type: string
        field:
          type: string
        blockingReasons:
          type: array
          items:
            type: object
            required:
            - source
            - reason
            properties:
              source:
                type: string
              reason:
                type: string
              count:
                type: number
            additionalProperties: false
        _tag:
          type: string
          enum:
          - BadRequestHttpError
      additionalProperties: false
    UnauthenticatedHttpError:
      type: object
      required:
      - message
      - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
          - UnauthenticatedHttpError
      additionalProperties: false
    EntitySettingsModel.jsonUpdate:
      type: object
      required: []
      properties:
        prefix:
          anyOf:
          - type: string
            description: a string matching the pattern ^[A-Za-z0-9]+$
            title: maxLength(10)
            pattern: ^[A-Za-z0-9]+$
            minLength: 1
            maxLength: 10
            allOf:
            - pattern: ^\S[\s\S]*\S$|^\S$|^$
          - type: 'null'
        vendorFieldRequirements:
          anyOf:
          - type: object
            required: []
            properties: {}
            additionalProperties:
              type: string
              enum:
              - required
              - optional
          - type: 'null'
        sensitiveFields:
          anyOf:
          - type: object
            required: []
            properties: {}
            additionalProperties:
              type: boolean
          - type: 'null'
      additionalProperties: false
      title: EntitySettingsModel.jsonUpdate
    AuthError:
      type: object
      required:
      - _tag
      properties:
        cause:
          title: unknown
        _tag:
          type: string
          enum:
          - AuthError
      additionalProperties: false
    CustomFieldId:
      type: number
      description: Unique identifier for a custom field definition
    EntityNotFoundError:
      type: object
      required:
      - entityId
      - _tag
      properties:
        entityId:
          type: string
        _tag:
          type: string
          enum:
          - EntityNotFoundError
      additionalProperties: false
    UnauthorizedHttpError:
      type: object
      required:
      - message
      - _tag
      properties:
        message:
          type: string
        requiredPermissions:
          type: array
          items:
            type: string
        _tag:
          type: string
          enum:
          - UnauthorizedHttpError
      additionalProperties: false
    Issue:
      type: object
      required:
      - _tag
      - path
      - message
      properties:
        _tag:
          type: string
          enum:
          - Pointer
          - Unexpected
          - Missing
          - Composite
          - Refinement
          - Transformation
          - Type
          - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: Represents an error encountered while parsing a value to match the schema
    EntityCustomFieldsModel.json:
      type: object
      required:
      - fieldId
      - entityId
      - fieldType
      - fieldTitle
      - instructionsDisplay
      properties:
        fieldId:
          $ref: '#/components/schemas/CustomFieldId'
        entityId:
          type: string
        fieldType:
          type: string
          enum:
          - text
          - number
          - boolean
          - date
          - dropdown
        fieldTitle:
          $ref: '#/components/schemas/NonEmptyString'
        instructions:
          anyOf:
          - type: string
          - type: 'null'
        instructionsDisplay:
          type: string
          enum:
          - description_text
          - tool_tip
        isActive:
          type: boolean
        isRequired:
          type: boolean
        isMasked:
          type: boolean
        maskedVisibleChars:
          anyOf:
          - type: number
          - type: 'null'
        options:
          anyOf:
          - type: array
            items:
              type: object
              required:
              - label
              - value
              properties:
                label:
                  type: string
                value:
                  type: string
              additionalProperties: false
          - type: 'null'
        allowMultiple:
          type: boolean
        isDeleted:
          anyOf:
          - type: boolean
          - type: 'null'
        deletedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
        createdAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
        updatedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
      additionalProperties: false
      title: EntityCustomFieldsModel.json
    HttpApiDecodeError:
      type: object
      required:
      - issues
      - message
      - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
          - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    PropertyKey:
      anyOf:
      - type: string
      - type: number
      - type: object
        required:
        - _tag
        - key
        properties:
          _tag:
            type: string
            enum:
            - symbol
          key:
            type: string
        additionalProperties: false
        description: an object to be decoded into a globally shared symbol
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme