> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enfuce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get application

> This operation will respond with an application



## OpenAPI

````yaml card get /v1/application/{id}
openapi: 3.0.3
info:
  description: >
    Card API have different endpoints for creating, editing and updating a card
    via different methods.


    Below in the picture is the basic flow of a card lifecycle. Note we don't
    restrict changes,

    so it is possible although not advisable e.g. to change card status from
    Card Lost to Card OK.


    ![ Card lifecycle
    ](https://enfuce-public-resources.s3.eu-central-1.amazonaws.com/public/card_lifecycle.svg)


    Below is a short summary of each status:

    <table>
      <tr>
        <th>Status name</th>
        <th>Description</th>
        <th>Authorisations rejected</th>
        <th>Clearing transactions posting blocked</th>
      <tr>
        <td>Card OK</td>
        <td>Card is open and in normal status. Card has to be in this status in order for it to be renewed.</td>
        <td>No</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card Blocked</td>
        <td>Temporary block on the card that will prevent approval of authorisations. Can be used instead of account level temporary block if target is to block only a specific card.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Suspected Fraud</td>
        <td>Temporary block on the card that will prevent approval of authorisations. Functionality the same as for "Card blocked", the different code allows to differentiate between the blocks.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card No Renewal</td>
        <td>Status set to prevent following card renewal. Does not affect card functionality in any way, only renewal.</td>
        <td>No</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card Closed Due To Fraud</td>
        <td>Used to close a card due to known fraud.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card Lost</td>
        <td>Used to close a card because it is lost.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card Stolen</td>
        <td>Used to close a card because it is stolen.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
      <tr>
        <td>Card Closed</td>
        <td>Used to close card by request from customer or bank, reason for closure is set with status update reason. Allows still clearing transaction posting.</td>
        <td>Yes</td>
        <td>No</td>
      </tr>
    </table>


    ### Encrypted payload for _Create card_ or _Get card_ with a full card
    number


    The payload field _encryptedData_ in create card requests is encrypted with
    JWE (JSON Web Encryption). 

    The field value must be presented using compact serialization scheme, i.e.
    Base64URL-encoded elements 

    separated by a ".".


    JWE should use RSA-OAEP-256 algorithm for encrypting the random symmetric
    key and A256GCM algorithm for

    encrypting the payload. Public keys used for encryption are provided in
    certificates below. 

    JWE header must also contain parameter "x5t#S256" with SHA256 fingerprint of
    the certificate used. 

    See RFC7516 section 4.1.10.


    The payload to be encrypted must be in JSON-format and contain field
    "cardNumber". For example:

            { "cardNumber": "5555555555554444" }

    Certificate for test environments (jwe-test-20260422.pem):

            -----BEGIN CERTIFICATE-----
            MIIDsTCCApmgAwIBAgIUNbIeMweA9gtL+71Uoctyok+LP5owDQYJKoZIhvcNAQEL
            BQAwaDELMAkGA1UEBhMCRkkxDjAMBgNVBAcMBUVzcG9vMQ8wDQYDVQQKDAZFbmZ1
            Y2UxETAPBgNVBAsMCENhcmQgQVBJMSUwIwYDVQQDDBxqd2UtdGVzdC0yMDI2MDQy
            Mi5lbmZ1Y2UuY29tMB4XDTI2MDQyMjA4MTQ1MVoXDTI4MDQxMTA4MTQ1MVowaDEL
            MAkGA1UEBhMCRkkxDjAMBgNVBAcMBUVzcG9vMQ8wDQYDVQQKDAZFbmZ1Y2UxETAP
            BgNVBAsMCENhcmQgQVBJMSUwIwYDVQQDDBxqd2UtdGVzdC0yMDI2MDQyMi5lbmZ1
            Y2UuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl9nrCsMtzGy2
            r/tfZugYW8vX/+GoZv9FUK2XfsEqgaTBWVQZvkbRKAijtdymHXwe72rZuVBotaUm
            ES/5Eqqhy5Mb6pYZ9H3VwV0tq6RSiq6A9nEevfPHe2UXl66K6XC8WWXtLyHu1sdk
            t9Gf4zLMspL7C+8m1OfJMZzBAEXcuoNcUPbWHzupyWpKvCZqbV1kwXDaYhCYR0cQ
            BLNUTxQS+fIYZrlrzIiwGng/3IDBsaVuJdFfa3OqRcNPt6rbcvtrQ3pN6zSvOPB6
            MVUKNPp7PeSBYomnPa+CI68XG9GfxK3fhos/uUlrQv4rnDP/qTtUvrK9VutDrg4r
            y/GXroEr8wIDAQABo1MwUTAdBgNVHQ4EFgQUnZQPK6mB0zIKBmPXjSkFWGJR4zMw
            HwYDVR0jBBgwFoAUnZQPK6mB0zIKBmPXjSkFWGJR4zMwDwYDVR0TAQH/BAUwAwEB
            /zANBgkqhkiG9w0BAQsFAAOCAQEAV7yknM6xyWA2lZlDKaQdg7Jug6pKvW6733IQ
            ois3/1VJPa1piDiNWfQcvvinxvTyczCjnh/HOdtbFfLJHezcj1R/YsrSE45VIc9Z
            d3gwK1MpLUNdb9ifmpxT9gfGy7mPNZC0FtzWHqWwcogzyScoLWT11usqHR64aZiZ
            /shfQPy6iK5gDF6yrwUB+Tv3TZl934GvYhFw/P3uk7ZSJ27/XhUrbnooagqRYZlN
            +/+2hvyGDZ4YVfdt7rhWfmm3xHNCVVyRjuLaaWOebWM+y705KN57DXyXxDPkmmud
            M2aru88ojhKc73QIQy8izAOTFKtyuOxtQR7PbDBpXcJhHGO/UQ==
            -----END CERTIFICATE-----

    Certificate for production environments (jwe-20260422.pem):

            -----BEGIN CERTIFICATE-----
            MIIDpzCCAo+gAwIBAgIUP+Z0k9p29DQZLP62py6KuG8XbRQwDQYJKoZIhvcNAQEL
            BQAwYzELMAkGA1UEBhMCRkkxDjAMBgNVBAcMBUVzcG9vMQ8wDQYDVQQKDAZFbmZ1
            Y2UxETAPBgNVBAsMCENhcmQgQVBJMSAwHgYDVQQDDBdqd2UtMjAyNjA0MjIuZW5m
            dWNlLmNvbTAeFw0yNjA0MjIwODE3NDZaFw0yODA0MTEwODE3NDZaMGMxCzAJBgNV
            BAYTAkZJMQ4wDAYDVQQHDAVFc3BvbzEPMA0GA1UECgwGRW5mdWNlMREwDwYDVQQL
            DAhDYXJkIEFQSTEgMB4GA1UEAwwXandlLTIwMjYwNDIyLmVuZnVjZS5jb20wggEi
            MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCCmlTBos5Q32mEL3XU0UjrPN22
            27YpyqCE234kwJ8BIBnzkQdrfkB27cucYnzj7HHg+1tn7CJBtprwkwzAEMW2CY5G
            /3kOD9hw9amFKtw1C/pMW4ZJh0W8pbbN1+9Y0Ti85hWQN7+UVyRybZqSr8aCXKV9
            5qyVU/00rdDT+mXdSjppzn3HU4jmWABIwJkT5wyxeIMonr+O+WHW08yd1LYd5ID6
            tfyC8o48pXI2uugyNGIPKdwiaK/C/qojiJYJRRZEaXatAk2OFFvq+ryeICO88TK9
            eB7ngEPpfa04nebkH8Scj4rbyYPmSyFpGfvVeXvzODixdI1Qxz/KK9j96PiNAgMB
            AAGjUzBRMB0GA1UdDgQWBBSFbT/MlsLoAOdcGNVwCbJWnEFVyTAfBgNVHSMEGDAW
            gBSFbT/MlsLoAOdcGNVwCbJWnEFVyTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
            DQEBCwUAA4IBAQAHGOulvkVGjntcH9fJMRgOh32fjddc3+UDx5DKGluvDoqEgZdw
            ow1PFSRMNNHfMlOLCpNsiwuLJhA5weWUZnrMrizVkTGf2M39FkltlozY/mWwkJ97
            3sSfy6AN1lw/IbWJqOaYYU5wAWPgVP7lkiyDhJ21QtgHKeRQeTAtwuV3vv5cj/Cx
            ns/vYrXsoEJTboimlNm9eLUq61B+BFsZqJsvu8S3nT0icM4d4ZXwD0Ci/cs76wQN
            iLe3+O3GM1rQu+upvZJd9LqylXGa/mi5y0TwlunCG9ppIOotZQZpS3JlS8gKPTwS
            iUuAvpt0bTTTqMDpE+4i9pjqiU6hyGguFkaB
            -----END CERTIFICATE-----
  version: '1'
  title: Card details API
  contact:
    name: Enfuce Financial Services
    url: https://enfuce.com
    email: info@enfuce.com
  x-logo:
    url: https://developer.enfuce.com/images/enfuce.svg
    altText: Enfuce logo
servers:
  - url: >-
      https://integration-api-cat2.{{environment}}.ext.{{realm}}.cia.enfuce.com/card
  - url: https://integration-api-cat2.live.ext.prod.cia.enfuce.com/card
    description: Live environment
security: []
tags:
  - name: Create card
    description: <p>Endpoints for creating a card</p>
  - name: Update card
    description: <p>Endpoints for updating a card</p>
  - name: Get card
    description: Endpoints for fetching a card
  - name: Get plastic
    description: Endpoints for fetching a plastic
  - name: Update plastic
    description: <p>Endpoints for updating a plastic</p>
  - name: Get application
    description: Endpoints for fetching an application
  - name: Update application
    description: <p>Endpoints for updating an application</p>
paths:
  /v1/application/{id}:
    get:
      tags:
        - Get application
      summary: Get application
      description: This operation will respond with an application
      operationId: getApplicationV1
      parameters:
        - name: auditUser
          in: query
          description: The audit user to log the request
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: The card id for given application
          required: true
          schema:
            type: string
            format: biginteger
      responses:
        '200':
          description: Successful lookup of the application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getApplication'
        '401':
          $ref: '#/components/responses/error401'
        '403':
          $ref: '#/components/responses/error403'
        '404':
          description: Application does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '500':
          $ref: '#/components/responses/error500'
components:
  schemas:
    getApplication:
      allOf:
        - $ref: '#/components/schemas/baseApplication'
        - properties:
            accountId:
              $ref: '#/components/schemas/accountId'
            id:
              $ref: '#/components/schemas/id'
            maskedCardNumber:
              $ref: '#/components/schemas/maskedCardNumber'
            productCode:
              $ref: '#/components/schemas/productCode'
            referenceNumber:
              $ref: '#/components/schemas/referenceNumber'
            regionAndEcommBlocking:
              $ref: '#/components/schemas/regionAndEcommBlocking'
            cardUsageBlocks:
              $ref: '#/components/schemas/cardUsageBlocks'
            status:
              $ref: '#/components/schemas/cardStatus'
            statusDate:
              $ref: '#/components/schemas/statusDate'
            usageLimits:
              type: array
              items:
                $ref: '#/components/schemas/getUsageLimit'
              description: Usage limits
    errorResponse:
      type: object
      properties:
        code:
          type: string
          description: An error code indicating what kind of error. I.e. HTTP error code
        message:
          type: string
          description: Error message in human-readable format
        id:
          type: string
          format: uuid
          description: Unique error identifier
        errorCode:
          type: string
          description: Enfuce code for a specific error type
        errorType:
          type: string
          description: Error type
          enum:
            - STATIC_VALIDATION_ERROR
            - DYNAMIC_VALIDATION_ERROR
            - INTEGRATION_ERROR
            - SECURITY_ERROR
            - UNEXPECTED_ERROR
        errorReason:
          type: string
          description: Free-form text explaining the error reason
        timestamp:
          type: string
          format: date-time
          description: Datetime when error occurred
    baseApplication:
      type: object
      properties:
        applicationName:
          type: string
          description: Name of the application displayed on the POS terminal in text
          example: APPLICATION
          pattern: ^[A-Za-z ]*$
          maxLength: 16
        enabled:
          type: boolean
          description: >
            Allows to define if an application (PAN) is active on the chip. Only
            active applications are displayed
        additionalValues:
          $ref: '#/components/schemas/additionalValues'
        printed:
          type: boolean
          description: To indicate if this PAN is printed on the physical card
        contactPriorityLevel:
          type: integer
          minimum: 1
          maximum: 255
          description: >
            Priority level of the application (PAN) on a POS terminal (Lowest is
            the first application listed)
        contactlessPriorityLevel:
          type: integer
          minimum: 1
          maximum: 255
          description: >
            Priority level of the contactless application (PAN) (not visible on
            terminal). Application with the lowest  value will be used for
            contactless purchases
        digitalLayoutCode:
          $ref: '#/components/schemas/digitalLayoutCode'
    accountId:
      type: string
      description: The account id card is linked to
      example: '1234567890'
    id:
      type: string
      description: Unique card id for given card
      example: '1234567890'
    maskedCardNumber:
      type: string
      description: Card number, masked in order to protect sensitive data
      example: '123456______4285'
    productCode:
      type: string
      description: >
        This field is used when the institution has multiple card products
        setup. The productCode is used to determine the specific card product.
        Use of this field as well as the values of the field, is dependent on
        institution setup and should be aligned with Enfuce prior to use.
      pattern: ^[A-Z][A-Z_0-9]{1,64}$
      example: MC_CARD_2, VISA_CARD1, VISA_VIRTUAL_3, MC_VIRTUAL_2, VISA_CARD
    referenceNumber:
      type: string
      description: |
        Unique card identifier for given card
      maxLength: 16
      minLength: 1
      pattern: ^[1-9][0-9]{1,15}$
      example: '123456789123456'
    regionAndEcommBlocking:
      type: object
      description: Card ecomm and geo-region blocking
      properties:
        ecomm:
          type: boolean
          description: Block e-comm usage
        africa:
          type: boolean
          description: Block Africa region
        asia:
          type: boolean
          description: Block Asia region
        europe:
          type: boolean
          description: Block Europe region
        home:
          type: boolean
          description: Block home region
        northAmerica:
          type: boolean
          description: Block North-America region
        oceania:
          type: boolean
          description: Block Oceania region
        southAmerica:
          type: boolean
          description: Block South-America region
      title: regionAndEcommBlocking
    cardUsageBlocks:
      type: object
      description: Card usage blocks
      properties:
        cardPresent:
          type: boolean
          description: |
            Card-present environment transactions.

            true = the transaction type is blocked
            false = the transaction type is allowed
        atmCashDisbursement:
          type: boolean
          description: |
            ATM cash disbursement transactions.

            true = the transaction type is blocked
            false = the transaction type is allowed
      title: cardUsageBlocks
    cardStatus:
      type: string
      description: >
        - CARD_OK - Card is open and in normal status. Card has to be in this
        status in order for it to be renewed - CARD_BLOCKED - Temporary block on
        the card that will prevent approval of authorisations. Can be used
        instead of account level temporary block if target is to block only a
        specific card - SUSPECTED_FRAUD - Temporary block on the card that will
        prevent approval of authorisations. Functionality the same as for "Card
        blocked", the different code allows to differentiate between the blocks
        - CARD_CLOSED_DUE_TO_FRAUD - Used to close a card due to known fraud -
        CARD_NO_RENEWAL - Status set to prevent following card renewal. Does not
        affect card functionality in any way, only renewal - CARD_LOST - Used to
        close a card because it is lost - CARD_STOLEN - Used to close a card
        because it is stolen - CARD_CLOSED - Used to close card by request from
        customer or bank, reason for closure is set with status update reason.
        Allows still clearing transaction posting - CARD_EXPIRED - Final card
        closure status, that blocks also clearing transaction posting
      enum:
        - CARD_OK
        - CARD_BLOCKED
        - SUSPECTED_FRAUD
        - CARD_CLOSED_DUE_TO_FRAUD
        - CARD_NO_RENEWAL
        - CARD_LOST
        - CARD_STOLEN
        - CARD_CLOSED
        - CARD_EXPIRED
      title: cardStatus
    statusDate:
      type: string
      format: date-time
      description: Last updated on
      example: '2020-05-12T13:18:05'
    getUsageLimit:
      type: object
      allOf:
        - $ref: '#/components/schemas/baseUsageLimit'
        - properties:
            values:
              type: array
              items:
                $ref: '#/components/schemas/getLimitValues'
      title: getUsageLimit
    additionalValues:
      type: array
      maxItems: 10
      description: >
        The additionalValues array is used to store information in the form of
        key-value pairs. 

        Enfuce does not perform any validation on these key-value pairs beyond
        ensuring they adhere to the character limit constraints. 

        The primary purpose of these key-value pairs is to store data without
        further processing.

        In newer versions of the card personalization files, these key-value
        pairs are included in the file. 

        However, this inclusion is version-dependent. We recommend consulting
        the specific version details of your card personalization files 

        to confirm whether these values will be added to the card
        personalization file in your case.
      items:
        $ref: '#/components/schemas/keyValuePair'
    digitalLayoutCode:
      type: string
      description: >
        Id used for digital wallet artwork and other related assets. Use of this
        need to be agreed with Enfuce separately
      maxLength: 32
      pattern: ^[a-zA-Z0-9]+$
      example: abc123abc
    baseUsageLimit:
      type: object
      properties:
        code:
          type: string
          enum:
            - 24H
            - DAILY
            - MONTHLY
            - WEEKLY
            - ANNUAL_YEARLY
            - ROLLING_YEARLY
          description: |
            Usage Limiter Time Periods
            Available usage limiters include:
              * __24H__ - A sliding window limiter covering the last 24 hours.
              * __WEEKLY__ - Limits usage for the current week, starting on Monday.
              * __MONTHLY__ - Limits usage for the current month, starting on the 1st.


              __Note:__ The following usage limiters are not part of the standard usage limiter setup. The use of these fields and their values depends on the institution's configuration and must be coordinated with Enfuce before use.
              * __DAILY__ - Limits usage for the current day, starting at 00:00.
              * __ANNUAL_YEARLY__ - Limits usage for the current year, starting on 1st January.
              * __ROLLING_YEARLY__ - A sliding window limiter covering the year until now.

            (DAILY, WEEKLY, MONTHLY and ANNUAL_YEARLY are reset at midnight UTC)
      title: baseUsageLimit
    getLimitValues:
      type: object
      allOf:
        - $ref: '#/components/schemas/limitValues'
        - properties:
            availableAmount:
              type: number
              description: >-
                Available amount for specific usage limit. Note this is not
                present if sumAmount is not set.
              example: 1200
            availableCount:
              type: integer
              description: >-
                Available count for specific usage limit. Note this is not
                present if count is not set.
              example: 1200
            usedAmount:
              type: number
              description: Used amount for specific usage limit
              example: 1200
            usedCount:
              type: integer
              description: Used count for specific usage limit
              example: 1200
      title: getLimitValues
    keyValuePair:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 8
          pattern: ^[a-zA-Z0-9\-\_ ]*$
        value:
          type: string
          minLength: 1
          maxLength: 50
          pattern: >-
            ^[a-zA-Z0-9|\-_
            +.éàèùçâêîôûëïü'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſǪǫȘșȚțȪȫȮȯȲȳḐḑṢṣẞỌọ]*$
    limitValues:
      type: object
      properties:
        code:
          type: string
          enum:
            - ATM
            - RETAIL
            - ALL
          description: >
            Note that all values must be present when set. Usage limiter values
            are:
              * __ATM__ - ATM max withdrawal limit
              * __RETAIL__ - Retail max purchase limit
              * __ALL__ - All usage max limit
        reset:
          type: boolean
          description: >
            If set to true this specific usage limit will be reset to product
            default and any other values sent in to the request will be ignored.

              Example: If __usageLimits.values.reset__ = true then all values below will be ignored and the default configuration will apply.

                usageLimits.values.singleAmount = 1000
                usageLimits.values.sumAmount = 1200

                usageLimits.values.count = 5
          example: true
        singleAmount:
          type: number
          description: |
            The max allowed amount of a single transaction.

              Example: Maximum allowed spend per transaction is 1000

                usageLimits.values.singleAmount = 1000
                usageLimits.values.sumAmount = 0

                usageLimits.values.count = 0
          example: 1000
        count:
          type: integer
          description: |
            The max number of transactions allowed under a time period.

              Example: Maximum number of allowed transactions under a certain period of time is 5

                usageLimits.values.singleAmount = 0
                usageLimits.values.sumAmount = 0

                usageLimits.values.count = 5
          example: 5
        sumAmount:
          type: number
          description: |
            The max allowed amount under a time period.

              Example: Maximum allowed spend under a certain period of time is 1200.

                usageLimits.values.singleAmount = 0
                usageLimits.values.sumAmount = 1200

                usageLimits.values.count = 0
          example: 1200
      title: limitValue
  responses:
    error401:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    error403:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    error500:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'

````