DNV

DNV Surveys API

Survey schedules and records

OpenAPI Specification

dnv-surveys-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: DNV Class Status Certificates Surveys API
  description: DNV's Class Status API provides programmatic access to vessel classification data. Authentication uses OAuth 2.0 with Azure AD B2C as the identity provider. Access tokens are obtained from the Microsoft identity platform and are valid for approximately 20 minutes. Access requires a separate API contract with DNV. The API supports retry logic using exponential backoff for resilience.
  version: 1.0.0
  contact:
    name: DNV Support
    url: https://help-center.veracity.com/en/
  license:
    name: DNV Terms
    url: https://www.dnv.com/terms/
servers:
- url: https://maritime.dnv.com/api/cs-iacs-customer
  description: DNV Class Status API Production
security:
- oauth2: []
tags:
- name: Surveys
  description: Survey schedules and records
paths:
  /vessels/{imoNumber}/surveys:
    get:
      operationId: getVesselSurveys
      summary: Get vessel survey records and schedule
      description: Returns the survey schedule and history for a specific vessel.
      tags:
      - Surveys
      parameters:
      - name: imoNumber
        in: path
        required: true
        schema:
          type: string
          pattern: ^[0-9]{7}$
      - name: surveyType
        in: query
        description: Filter by survey type
        schema:
          type: string
          enum:
          - ANNUAL
          - INTERMEDIATE
          - SPECIAL
          - DOCKING
          - CONTINUOUS
          - RENEWAL
      responses:
        '200':
          description: Survey records and schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SurveyList'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    SurveyList:
      type: object
      properties:
        imoNumber:
          type: string
        surveys:
          type: array
          items:
            $ref: '#/components/schemas/Survey'
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        requestId:
          type: string
    Survey:
      type: object
      properties:
        surveyId:
          type: string
        surveyType:
          type: string
          enum:
          - ANNUAL
          - INTERMEDIATE
          - SPECIAL
          - DOCKING
          - CONTINUOUS
          - RENEWAL
        surveyDate:
          type: string
          format: date
        nextDueDate:
          type: string
          format: date
        port:
          type: string
        surveyorName:
          type: string
        result:
          type: string
          enum:
          - PASSED
          - PASSED_WITH_CONDITIONS
          - FAILED
          - ONGOING
        remarks:
          type: string
  responses:
    NotFound:
      description: Vessel not found in DNV register
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 via Azure AD B2C. Tokens obtained from https://login.microsoftonline.com/dnvglb2cprod.onmicrosoft.com/oauth2/token using client credentials grant with resource ID c916a223-f3d4-4d43-b709-cfcd77ff4a05.
      flows:
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/dnvglb2cprod.onmicrosoft.com/oauth2/token
          scopes:
            class_status:read: Read vessel classification status