{
  "openapi": "3.0.0",
  "info": {
    "title": "Paze API",
    "description": "REST 2.0 Paze API",
    "version": "1.2.0"
  },
  "servers": [
    {
      "url": "https://api-sandbox.nuvei.com/paze-api",
      "description": "sandbox"
    },
    {
      "url": "https://api.nuvei.com/paze-api",
      "description": "prod"
    }
  ],
  "tags": [
    {
      "name": "Transaction Processing"
    }
  ],
  "paths": {
    "/entities/{entity-id}/client-info": {
      "get": {
        "tags": [
          "Transaction Processing"
        ],
        "summary": "Get the Merchant's identifier to be used with Paze",
        "description": "Get the Merchant's identifier to be used with Paze",
        "operationId": "getPazeClientInfo",
        "parameters": [
          {
            "name": "entity-id",
            "in": "path",
            "description": "NCP Entity ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "$ref": "#/components/schemas/InternalEntityId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          },
          "404": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeGeneralResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "accessToken": []
          },
          {
            "apiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "PazeId": {
        "title": "Paze ID",
        "maxLength": 100,
        "type": "string"
      },
      "PazeName": {
        "title": "Paze Merchant Name",
        "maxLength": 120,
        "type": "string"
      },
      "PazeProfileId": {
        "title": "Paze Profile ID",
        "maxLength": 50,
        "type": "string"
      },
      "PazeClient": {
        "title": "Paze Client",
        "required": [
          "id",
          "name",
          "profileId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/PazeId"
          },
          "name": {
            "$ref": "#/components/schemas/PazeName"
          },
          "profileId": {
            "$ref": "#/components/schemas/PazeProfileId"
          }
        }
      },
      "PazeGeneralResponse": {
        "title": "General Paze Response",
        "required": [
          "result"
        ],
        "type": "object",
        "properties": {
          "client": {
            "$ref": "#/components/schemas/PazeClient"
          },
          "result": {
            "$ref": "#/components/schemas/BaseApiResultOutput"
          }
        }
      },
      "InternalEntityId": {
        "title": "Entity ID",
        "maxLength": 36,
        "minLength": 1,
        "type": "string"
      },
      "BaseApiResultOutput": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/BaseResultStatus"
          },
          "errors": {
            "$ref": "#/components/schemas/ResultError"
          }
        }
      },
      "BaseResultStatus": {
        "type": "string",
        "description": "Status of the request: success | error",
        "enum": [
          "success",
          "error"
        ]
      },
      "ResultError": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 11,
            "type": "string",
            "description": "If an error occurred on the request side, an error code is returned in this parameter.",
            "example": "7000.1000"
          },
          "reason": {
            "maxLength": 400,
            "type": "string",
            "description": "If an error occurred on the request side, then an error reason is returned in this parameter.",
            "example": "Internal Processing Error"
          },
          "reference": {
            "maxLength": 400,
            "type": "string",
            "description": "Reference value for troubleshooting",
            "example": "110.1260"
          }
        },
        "description": "If an error occurred on the request side, an error code is returned in this parameter."
      }
    },
    "responses": {
      "PazeRegistrationCreated": {
        "description": "Created",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeRegistrationBadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeRegistrationUnauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeRegistrationForbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeRegistrationConflict": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeRegistrationInternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "ClonePazeRegistrationCreated": {
        "description": "Created",
        "content": {}
      },
      "ClonePazeRegistrationBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "ClonePazeRegistrationUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "ClonePazeRegistrationForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "ClonePazeRegistrationInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "PazeIdentifierOk": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeIdentifierBadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeIdentifierUnauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeIdentifierForbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeIdentifierNotFound": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "PazeIdentifierInternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeGeneralResponse"
            }
          }
        }
      },
      "CertificateOperationOk": {
        "description": "OK",
        "content": {}
      },
      "CertificateOperationBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "CertificateOperationUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "CertificateOperationForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "CertificateOperationNotFound": {
        "description": "Conflict",
        "content": {}
      },
      "CertificateOperationInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "CertificateOk": {
        "description": "OK",
        "content": {}
      },
      "CertificateBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "CertificateUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "CertificateForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "CertificateNotFound": {
        "description": "Not Found",
        "content": {}
      },
      "CertificateInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "CertificatesOk": {
        "description": "OK",
        "content": {}
      },
      "CertificatesBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "CertificatesUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "CertificatesForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "CertificatesNotFound": {
        "description": "Not Found",
        "content": {}
      },
      "CertificatesInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "CredentialsResponseOk": {
        "description": "Created",
        "content": {}
      },
      "CredentialsResponseBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "CredentialsResponseUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "CredentialsResponseForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "CredentialsResponseNotFound": {
        "description": "Not Found",
        "content": {}
      },
      "CredentialsResponseInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "CredentialsOperationOk": {
        "description": "OK",
        "content": {}
      },
      "CredentialsOperationBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "CredentialsOperationUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "CredentialsOperationForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "CredentialsOperationNotFound": {
        "description": "Conflict",
        "content": {}
      },
      "CredentialsOperationInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      },
      "DecryptTokenOk": {
        "description": "OK",
        "content": {}
      },
      "DecryptTokenBadRequest": {
        "description": "Bad Request",
        "content": {}
      },
      "DecryptTokenUnauthorized": {
        "description": "Unauthorized",
        "content": {}
      },
      "DecryptTokenForbidden": {
        "description": "Forbidden",
        "content": {}
      },
      "DecryptTokenInternalServerError": {
        "description": "Internal Server Error",
        "content": {}
      }
    },
    "parameters": {
      "entity-id": {
        "name": "entity-id",
        "in": "path",
        "description": "NCP Entity ID",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "$ref": "#/components/schemas/InternalEntityId"
        }
      },
      "certificate-id": {
        "name": "certificate-id",
        "in": "path",
        "description": "Certificate ID",
        "required": true,
        "style": "simple",
        "explode": false
      }
    },
    "requestBodies": {
      "PazeRegistrationRequest": {
        "content": {}
      },
      "ClonePazeRegistrationRequest": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PazeClient"
            }
          }
        }
      },
      "CertificateRegistrationRequest": {
        "content": {}
      },
      "CredentialsRequest": {
        "content": {}
      },
      "DecryptTokenRequest": {
        "content": {}
      }
    },
    "securitySchemes": {
      "accessToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "apiKey": {
        "type": "apiKey",
        "name": "X-API-KEY",
        "in": "header"
      }
    }
  }
}