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

# Patch Consent

> Update and Account Access Consent Status or Webhook Subscription




## OpenAPI

````yaml open-finance-api/yaml/uae-account-information-openapi.yaml patch /account-access-consents/{ConsentId}
openapi: 3.0.0
info:
  title: UAE Account Information API
  description: '## UAE Open Finance Account Information API Specification'
  version: v1.2
servers:
  - url: /open-finance/account-information/v1.2
security: []
tags:
  - name: Account Access
    description: Account Access Consents Resource
  - name: Accounts
    description: Accounts Resource
  - name: Balances
    description: Balances Resource
  - name: Beneficiaries
    description: Beneficiaries Resource
  - name: Direct Debits
    description: Direct Debits Resource
  - name: Product
    description: Product Resource
  - name: Scheduled Payments
    description: Scheduled Payments Resource
  - name: Standing Orders
    description: Standing Orders Resource
  - name: Transactions
    description: Transactions Resource
  - name: Consents
    description: Consents Resource
  - name: Parties
    description: Parties Resource
paths:
  /account-access-consents/{ConsentId}:
    patch:
      tags:
        - Account Access
      summary: Patch Consent
      description: |
        Update and Account Access Consent Status or Webhook Subscription
      operationId: PatchAccountAccessConsentsConsentId
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/ConsentId'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/x-customer-user-agent'
      requestBody:
        description: |
          Request Body
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AEPatchConsent'
          application/json:
            schema:
              $ref: '#/components/schemas/AEPatchConsent'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AEPatchConsentSigned'
      responses:
        '204':
          $ref: '#/components/responses/204AccountAccessConsentsConsentIdDeleted'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - TPPOAuth2Security:
            - openid
            - accounts
components:
  parameters:
    Authorization:
      name: authorization
      in: header
      required: true
      description: An authorization Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    ConsentId:
      name: ConsentId
      in: path
      description: ConsentId
      required: true
      schema:
        type: string
    x-fapi-auth-date:
      in: header
      name: x-fapi-auth-date
      required: false
      description: >-
        The time when the User last logged in with the TPP. 

        All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
        example is below: 

        Sun, 10 Sep 2017 19:43:31 UTC
      schema:
        type: string
        pattern: >-
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The User's IP address if the User is currently logged in with the TPP.
      schema:
        type: string
    x-fapi-interaction-id:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    x-customer-user-agent:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the User is using.
      required: false
      schema:
        type: string
  schemas:
    AEPatchConsent:
      description: Patch Account Access Consent
      type: object
      properties:
        Data:
          type: object
          description: Primary data for the resource
          required:
            - Status
          properties:
            Status:
              $ref: '#/components/schemas/PatchConsentStatus'
            RevokedBy:
              $ref: '#/components/schemas/AERevokedBy'
          additionalProperties: false
        Subscription:
          $ref: '#/components/schemas/EventNotification'
      additionalProperties: false
    AEPatchConsentSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEPatchConsent'
          required:
            - message
          additionalProperties: false
    PatchConsentStatus:
      description: >-
        The Revoked status must only be set if the current Consent Status is set
        to either Authorized or AwaitingAuthorization
      type: string
      enum:
        - Revoked
    AERevokedBy:
      description: |
        Denotes the Identifier of the revocation.

        | Identifier| Description|
        |-----------|------------|
        | LFI | Revoked by LFI without User initiation|
        | TPP | Revoked by TPP without User initiation|
        | LFI.InitiatedByUser | Initiated by User via the LFI|
        | TPP.InitiatedByUser | Initiated by User via the TPP|
      type: string
      enum:
        - LFI
        - TPP
        - LFI.InitiatedByUser
        - TPP.InitiatedByUser
    EventNotification:
      type: object
      description: |
        A Webhook Subscription Schema
      required:
        - Webhook
      properties:
        Webhook:
          description: |
            A Webhook Schema
          type: object
          properties:
            Url:
              description: |
                The TPP Callback URL being registered with the LFI
              type: string
              example: https://api.tpp.com/webhook/callbackUrl
            IsActive:
              description: >
                The TPP specifying whether the LFI should send (IsActive true)
                or not send (IsActive false) Webhook Notifications to the TPP's
                Webhook URL
              type: boolean
              example: false
          additionalProperties: false
      additionalProperties: false
    Jwt:
      description: >
        [https://www.rfc-editor.org/rfc/rfc7519](https://www.rfc-editor.org/rfc/rfc7519)
      type: object
      properties:
        iss:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
          type: string
        exp:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
          type: number
        nbf:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
          type: number
        aud:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
          type: array
          items:
            type: string
        iat:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
          type: number
      required:
        - iss
        - exp
        - nbf
      additionalProperties: false
    AEErrorResponse:
      description: >-
        An array of detail error codes, and messages, and URLs to documentation
        to help remediation.
      type: object
      properties:
        Errors:
          items:
            $ref: '#/components/schemas/AEError'
          type: array
          minItems: 1
      required:
        - Errors
      additionalProperties: false
    AEErrorResponseSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEErrorResponse'
          required:
            - message
          additionalProperties: false
    AEError:
      description: Error
      type: object
      properties:
        Code:
          description: Low level textual error code, e.g., Field.Missing
          type: string
          enum:
            - AccessToken.Unauthorized
            - AccessToken.InvalidScope
            - Consent.Revoked
            - Consent.TransientAccountAccessFailure
            - Consent.AccountTemporarilyBlocked
            - Consent.PermanentAccountAccessFailure
            - Consent.Invalid
            - JWS.InvalidSignature
            - JWS.Malformed
            - JWS.InvalidClaim
            - JWS.InvalidHeader
            - GenericRecoverableError
            - GenericError
            - JWE.DecryptionError
            - JWE.InvalidHeader
            - Event.UnexpectedEvent
            - Body.InvalidFormat
            - Resource.InvalidResourceId
            - Resource.InvalidFormat
            - Consent.BusinessRuleViolation
        Message:
          description: >-
            A description of the error that occurred. e.g., 'A mandatory field
            isn't supplied' or 'RequestedExecutionDateTime must be in future'

            UAEOF doesn't standardise this field
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: >-
            Recommended but optional reference to the JSON Path of the field
            with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference, or help etc
          type: string
      required:
        - Code
        - Message
      additionalProperties: false
      minProperties: 1
  responses:
    204AccountAccessConsentsConsentIdDeleted:
      description: No Content
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    415Error:
      description: Unsupported Media Type
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    429Error:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    500Error:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
  securitySchemes:
    TPPOAuth2Security:
      type: oauth2
      description: >-
        TPP confidential client authorization with the LFI to stage a consent.
        **Please refer to [OpenID FAPI Security Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
        - 5.2.2 point 14 - shall authenticate the confidential client using one
        of the following methods private_key_jwt and [OpenID Connect Core
        1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication private_key_jwt**
      flows:
        clientCredentials:
          tokenUrl: https://authserver.example/token
          scopes:
            openid: Activates OpenID Connect Support
            accounts: Ability to read Accounts Information

````