openapi: 3.0.1
info:
  title: Notification Rest API
  description: Notification API for ID-Proofing
  version: "1.0.0"
servers:
- url: HOST/gips
tags:
- name: Notification
  description: Submit Notification
paths:
  /callback/notification:
    post:
      tags:
      - Notification
      summary: Notification
      description: Submit Notification
      operationId: callbackNotificationPost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationPayload'
        required: true
      responses:
        "200":
          description: All 2XX HTTP codes are considered as acknowledgement of the notification reception. Any other HTTP code will trigger the retry policy
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    Error:
      type: object
      properties:
        field:
          type: string
          description: Contains the name of the field that generated the error.
          example: surname
        code:
          type: string
          description: The product-associated error code specific to the generated
            error. A complete list of error codes and messages is available in the
            API Feedback Reference Document on the IDEMIA Digital Portal.
          example: "1006"
        message:
          type: string
          description: The error message associated with an error code to help understand
            the error. A complete list of error codes and messages is available in
            the API Feedback Reference Document.
          example: A field does not have the good format
    NotificationEvidence:
      type: object
      properties:
        evidenceId:
          type: string
        evidenceType:
          type: string
          enum:
          - IDENTITY
          - PASSPORT
          - EPASSPORT
          - IDENTITY_CARD
          - RESIDENT_CARD
          - BIOMETRICS
          - ACCOUNT
          - BANK_ACCOUNT
          - BIRTH_CERTIFICATE
          - MARRIAGE_CERTIFICATE
          - POLL_CARD
          - ADDRESS
          - EMAIL
          - MOBILE_OTP
          - MAIL_OTP
          - SMS_OTP
          - CREDIT_CARD
          - JUSTICE_ACT
          - DRIVING_LICENSE
          - CONSENT
          - AML
          - CCMID
          - ADJUDICATION_RESULT
          - ATTRIBUTES
          - ID_DOCUMENT
          - REMOTE_ID
          - SOCIAL_NETWORKS
          - PORTRAIT
          - VISA
          - CERTIFICATE
          - ID_DOCUMENT_DATA
          - DRIVING_PERMIT
          - TAX_CARD
          - VOTER_CARD
          - TRUSTED_ID_CLAIM
          - ID_CLAIM
          - PORTRAIT_REFERENCE
          - PARTNER_ASSESSMENT
          - ADDITIONAL_FILE
          - UNKNOWN
          - MEDICARE
        evidenceOperation:
          type: string
          enum:
          - CREATED
          - DELETED
          - VERIFY
          - UPDATED
    NotificationPayload:
      type: object
      properties:
        businessId:
          type: string
        event:
          type: string
          enum:
          - EVALUATION
          - ANTI_FRAUD
          - IDENTITY_STATUS_UPDATE
          - ADJUDICATION
        identityId:
          type: string
        identityStatus:
          type: string
          enum:
          - DELETED
          - ERROR
          - PAUSED
          - EXPECTING_INPUT
          - PROCESSING
        completedAt:
          type: string
          format: date-time
        evidence:
          $ref: '#/components/schemas/NotificationEvidence'
        expireAt:
          type: string
          format: date-time
        errors:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/Error'
