' Options:
'Date: 2025-07-14 11:39:21
'Version: 8.30
'Tip: To override a DTO option, remove "''" prefix before updating
'BaseUrl: https://api.sanctionssearch.com/v2
'
'''GlobalNamespace: 
'''MakePartial: True
'''MakeVirtual: True
'''MakeDataContractsExtensible: False
'''AddReturnMarker: True
'''AddDescriptionAsComments: True
'''AddDataContractAttributes: False
'''AddIndexesToDataMembers: False
'''AddGeneratedCodeAttributes: False
'''AddResponseStatus: False
'''AddImplicitVersion: 
'''InitializeCollections: True
'''ExportValueTypes: False
'IncludeTypes: GetPdf.*
'''ExcludeTypes: 
'''AddNamespaces: 
'''AddDefaultXmlNamespace: http://schemas.servicestack.net/types

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports SanctionsSearch.Api2.ServiceModel.Types
Imports SanctionsSearch.Api2.ServiceModel.Operations.Base
Imports SanctionsSearch.Api2.ServiceModel.Operations.Account

Namespace Global

    Namespace SanctionsSearch.Api2.ServiceModel.Operations.Account

        <Route("/pdfs/get", "POST")>
        <DataContract>
        Public Partial Class GetPdf
            Inherits BaseRequest
            Implements IReturn(Of GetPdfResponse)
            '''<Summary>
            '''The request data
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The request data", ParameterType:="body")>
            Public Overridable Property Request As GetPdfRequest
        End Class

        Public Partial Class GetPdfData
            Inherits BaseResponse
            '''<Summary>
            '''The single document that is being returned, including the file data
            '''</Summary>
            <ApiMember(Description:="The single document that is being returned, including the file data")>
            Public Overridable Property Document As PdfDocumentWithData
        End Class

        Public Partial Class GetPdfRequest
            '''<Summary>
            '''If the saved document is kept within a single Sub User account, specify their username here
            '''</Summary>
            <ApiMember(Description:="If the saved document is kept within a single Sub User account, specify their username here")>
            Public Overridable Property SubUserName As String

            '''<Summary>
            '''The ID of the document to retrieve
            '''</Summary>
            <ApiMember(Description:="The ID of the document to retrieve")>
            Public Overridable Property Id As Long
        End Class

        <DataContract>
        Public Partial Class GetPdfResponse
            '''<Summary>
            '''The response data
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The response data")>
            Public Overridable Property Data As GetPdfData
        End Class
    End Namespace

    Namespace SanctionsSearch.Api2.ServiceModel.Operations.Base

        Public Partial Class ArrayOfResponseError
            Inherits List(Of ResponseError)
        End Class

        <DataContract>
        Public Partial Class BaseRequest
            Implements IBaseRequest
            '''<Summary>
            '''The authentication credentials
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The authentication credentials", IsRequired:=true, ParameterType:="header, body")>
            Public Overridable Property Authentication As Authentication
        End Class

        Public Partial Class BaseResponse
            Implements IBaseDataResponse
            Implements IHasResponseStatus
            '''<Summary>
            '''The status of the response
            '''</Summary>
            <ApiMember(Description:="The status of the response")>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Interface IBaseDataResponse
            Property ResponseStatus As ResponseStatus
        End Interface

        Public Interface IBaseRequest
            Property Authentication As Authentication
        End Interface

        Public Interface IHasResponseStatus
            Property ResponseStatus As ResponseStatus
        End Interface

        <DataContract>
        Public Partial Class ResponseError
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property ErrorCode As String

            <DataMember(Order:=2)>
            Public Overridable Property FieldName As String

            <DataMember(Order:=3)>
            Public Overridable Property Message As String

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class ResponseStatus
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property ErrorCode As String

            <DataMember(Order:=2)>
            Public Overridable Property Message As String

            <DataMember(Order:=3)>
            Public Overridable Property StackTrace As String

            <DataMember(Order:=4)>
            Public Overridable Property Errors As ArrayOfResponseError

            <DataMember(Order:=5)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class
    End Namespace

    Namespace SanctionsSearch.Api2.ServiceModel.Types

        <DataContract>
        Public Partial Class Authentication
            '''<Summary>
            '''The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired:=true, ParameterType:="header, body")>
            Public Overridable Property ApiUserId As String

            '''<Summary>
            '''The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired:=true, ParameterType:="header, body")>
            Public Overridable Property ApiUserKey As String

            '''<Summary>
            '''The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType:="header, body")>
            Public Overridable Property UserId As String
        End Class

        Public Partial Class PdfDocument
            '''<Summary>
            '''The ID of the saved document
            '''</Summary>
            <ApiMember(Description:="The ID of the saved document")>
            Public Overridable Property Id As Long

            '''<Summary>
            '''Is the document ready to download
            '''</Summary>
            <ApiMember(Description:="Is the document ready to download")>
            Public Overridable Property IsReady As Boolean

            '''<Summary>
            '''The name of the saved document
            '''</Summary>
            <ApiMember(Description:="The name of the saved document")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The file name (including extension) of the saved document
            '''</Summary>
            <ApiMember(Description:="The file name (including extension) of the saved document")>
            Public Overridable Property FileName As String

            '''<Summary>
            '''The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.)
            '''</Summary>
            <ApiMember(Description:="The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.)")>
            Public Overridable Property Type As String

            '''<Summary>
            '''If this document is a Saved Sanctions Search, the ID of the search it relates to
            '''</Summary>
            <ApiMember(Description:="If this document is a Saved Sanctions Search, the ID of the search it relates to")>
            Public Overridable Property SanctionsSearchId As Nullable(Of Long)

            '''<Summary>
            '''If this document is a Saved PEP Search, the ID of the search it relates to
            '''</Summary>
            <ApiMember(Description:="If this document is a Saved PEP Search, the ID of the search it relates to")>
            Public Overridable Property PepSearchId As Nullable(Of Long)

            '''<Summary>
            '''If this document is a Saved ValidID Search, the ID of the search it relates to
            '''</Summary>
            <ApiMember(Description:="If this document is a Saved ValidID Search, the ID of the search it relates to")>
            Public Overridable Property ValidIdSearchId As Nullable(Of Integer)

            '''<Summary>
            '''If this document is a Saved CompanyLookup Search, the ID of the search it relates to
            '''</Summary>
            <ApiMember(Description:="If this document is a Saved CompanyLookup Search, the ID of the search it relates to")>
            Public Overridable Property CompanyLookupSearchId As Nullable(Of Integer)

            '''<Summary>
            '''The date the saved document was created/requested
            '''</Summary>
            <ApiMember(Description:="The date the saved document was created/requested")>
            Public Overridable Property DateCreated As Date

            '''<Summary>
            '''The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods
            '''</Summary>
            <ApiMember(Description:="The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods")>
            Public Overridable Property DateExpires As Date
        End Class

        Public Partial Class PdfDocumentWithData
            Inherits PdfDocument
            Public Sub New()
                DocumentBytes = New Byte(){}
            End Sub

            '''<Summary>
            '''The file data in a byte array
            '''</Summary>
            <ApiMember(Description:="The file data in a byte array")>
            Public Overridable Property DocumentBytes As Byte()
        End Class
    End Namespace
End Namespace