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

# Get beneficiary by id

> Get user beneficiary by id.



## OpenAPI

````yaml /openapi-converted.json get /users/{userId}/beneficiaries/{beneficiaryId}
openapi: 3.0.1
info:
  description: >-
    The Yapily API enables connections between your application and users'
    banks. For more information check out our [documentation](/introduction).


    In particular, make sure to view our [Getting
    Started](/getting-started/get-started) steps if this is your first time
    here.


    While testing the API, our list of [sandbox
    credentials](/resources/sandbox/sandbox-credentials) maybe useful.
  title: Yapily API
  version: 12.3.4
  contact:
    name: Yapily Support
    url: https://docs.yapily.com/resources/support
    email: support@yapily.com
servers:
  - url: https://api.yapily.com
security:
  - basicAuth: []
tags:
  - description: >-
      The `Application` is the base entity that is used to interact with the API
      and contains a collection of `Institution` objects. You can have multiple
      Applications associated with your account e.g. a production application
      with live access to each `Institution` and a development application with
      access to sandboxes.
    name: Application
  - description: >-
      The Users endpoints are used to manage each user (otherwise known as the
      PSU) in Yapily. Each user belongs to an Application and as a consequence,
      so do each `Consent` created for a particular `User`.
    name: Users
  - description: >-
      An `Institution` object represents any Account Serving Payment Servicing
      Provider (ASPSP) that has been integrated and is accessible through the
      Yapily APIs (ASPSPs are entities that publish Read/Write APIs to permit,
      with customer consent, payments initiated by third party providers and/or
      make their customers financial data available to third party providers via
      their API endpoints).


      Any one of the following would be represented as Institution:


      - Traditional banks e.g. Santander

      - Neo-banks e.g. Monzo

      - Building societies e.g. Cumberland Building Society
    name: Institutions
  - description: >-
      The Consents endpoints are used to manage each `Consent` created by Yapily
      in response to an authorisation created for a user.


      The `Consent` object contains data that identifies a user's consent for a
      specific `Institution` within a Yapily application. Other than the id of
      the consent, the `institution-id` for the corresponding `Institution` and
      the user identifiers (`user-uuid` and `application-user-id`), it contains
      various details that indicates how the `Consent` can be used.
    name: Consents
  - description: >-
      Before calling [Financial Data](#yapily-api-financial-data) or
      [Payments](#yapily-api-payments) endpoints, a consent from an end-user
      must be obtained.


      Consents are valid for up to 90 days for Financial Data endpoints and have
      a single-use for Payment endpoints i.e. a new consent must be obtained for
      each payment.


      NOTE: A user consent is also referred to as an 'Authorisation'.
    name: Authorisations
  - description: >-
      In order to access a user's Financial Data, you are required to request an
      [Authorisation](#tag/Authorisations) from the user to share the account
      information the bank has. Once a `consent-token` is obtained, you can call
      the necessary Financial Data endpoint(s) to retrieve the user's data.
    name: Financial Data
  - description: >-
      In order to make a Payment on behalf of a user, you are required to
      request an [Authorisation](#tag/Authorisations) from the user to authorise
      the user's account to make the payment from. Once a `consent-token` is
      obtained, you can call the necessary Payments endpoint(s) to execute a
      payment.
    name: Payments
  - description: >+
      The Notifications endpoints provide an interactive way for user to receive
      notifications according to different event-types. This feature is
      currently in private beta. Please reach out if you require access. 

    name: Notifications
  - description: >-
      Variable Recurring Payments enables transfer of money between accounts
      held by the same person or transfer of money for business payments. 


      In order to make Sweeping Variable Recurring Payments on behalf of a user,
      you are required to request an [Consent](#tag/Authorisations) from the
      user by calling the Sweeping Consent endpoint to authorise the user's
      account to make the payment. Once a `consent-token` is obtained, you can
      call the Payments endpoint to execute the Sweeping Variable Recurring
      Payments transaction. Before executing the payment, you have the option to
      confirm availability of funds in the user's account by calling the Funds
      Confirmation endpoint. 


      See [VRP Payments](/payments/vrps/additional-information) for more
      information.
    name: Variable Recurring Payments
  - description: Hosted Payment Pages endpoints for payments products
    name: Hosted Payment Pages
  - description: Hosted Consent Pages endpoints for data products
    name: Hosted Consent Pages
  - description: >-
      The constraints endpoints can be used to retrieve institution specific
      data requirements and rules that will apply when performing other
      operations.
    name: Constraints
  - description: >-
      Application Management endpoints help with creating and managing client
      sub-applications.
    name: Application Management
  - description: 'Data Plus endpoints enable our customers to enrich transaction data. '
    name: Data Plus
  - description: Webhook endpoints
    name: Webhooks
  - description: Application Beneficiaries Endpoints
    name: Application Beneficiaries
  - description: User Beneficiaries Endpoints
    name: User Beneficiaries
paths:
  /users/{userId}/beneficiaries/{beneficiaryId}:
    get:
      tags:
        - User Beneficiaries
      summary: Get beneficiary by id
      description: Get user beneficiary by id.
      operationId: getUserBeneficiary
      parameters:
        - $ref: '#/components/parameters/BeneficiaryIdPath'
        - $ref: '#/components/parameters/UserIdPath'
        - $ref: '#/components/parameters/SubAppHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserBeneficiaryResponse'
        '400':
          description: Invalid request
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
        '401':
          description: Unauthorized
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
        '429':
          description: Too many requests
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
        '500':
          description: Internal error
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
components:
  parameters:
    BeneficiaryIdPath:
      in: path
      name: beneficiaryId
      required: true
      schema:
        $ref: '#/components/schemas/BeneficiaryId'
    UserIdPath:
      in: path
      name: userId
      required: true
      schema:
        type: string
        format: uuid
        example: e7b7636d-a041-4013-8a1b-34dc85b7d341
    SubAppHeader:
      description: The sub-application ID to which event type is being subscribed to
      in: header
      name: sub-application
      required: false
      schema:
        type: string
        format: uuid
  schemas:
    UserBeneficiaryResponse:
      type: object
      description: The user beneficiary response.
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          $ref: '#/components/schemas/UserBeneficiaryData'
    ApiErrorResponseV2:
      type: object
      description: API Error Response
      properties:
        error:
          required:
            - tracingId
            - code
            - status
            - issues
          type: object
          properties:
            tracingId:
              type: string
              description: >-
                Unique identifier of the request, used by Yapily for support
                purposes
            code:
              type: integer
              format: int32
              description: Numeric HTTP status code associated with the error
            status:
              type: string
              description: Textual description of the HTTP status
            supportUrl:
              type: string
              description: >-
                Link to where further information regarding the error can be
                found
            source:
              type: string
              description: >-
                Source of the error. This may be YAPILY, the INSTITUTION, or the
                USER
            issues:
              type: array
              description: List of issues relating to the error
              items:
                required:
                  - message
                  - code
                type: object
                description: >-
                  Detailed information regarding the issue that was experienced
                  during processing of the request
                properties:
                  type:
                    type: string
                    description: Category of the issue
                  code:
                    type: string
                    description: >-
                      5 digit Error Code that uniquely identifies the type of
                      issue, for full list of error codes pelase check our
                      documentation
                  message:
                    type: string
                    description: >-
                      Human readable description of the issue that was
                      experienced
    BeneficiaryId:
      type: string
      format: uuid
      example: e7b7636d-a041-4013-8a1b-34dc85b7d341
      description: Beneficiary Id
    ResponseMeta:
      type: object
      properties:
        tracingId:
          type: string
    UserBeneficiaryData:
      type: object
      description: Beneficiary data response.
      properties:
        beneficiaryId:
          type: string
          format: uuid
          example: e7b7636d-a041-4013-8a1b-34dc85b7d341
          description: id of the beneficiary
        status:
          $ref: '#/components/schemas/BeneficiaryStatus'
        details:
          description: Beneficiary response with the details of the VoP result.
          required:
            - name
            - accountIdentifier
          properties:
            name:
              type: string
              description: name of the beneficiary
              example: John Doe
            match:
              $ref: '#/components/schemas/UserBeneficiaryMatch'
            accountIdentifier:
              $ref: '#/components/schemas/AccountIdentifier'
    BeneficiaryStatus:
      description: Status of the beneficiary check.
      type: string
      enum:
        - PENDING
        - VERIFIED
        - REJECTED
    UserBeneficiaryMatch:
      type: object
      description: Details of the match given by the institution.
      properties:
        status:
          $ref: '#/components/schemas/BeneficiaryMatchStatus'
        closeMatchName:
          type: string
          example: John Doe
          description: the name returned by the institution, in a case of CLOSE_MATCH
    AccountIdentifier:
      type: object
      description: Account's details.
      required:
        - identification
        - type
      properties:
        type:
          $ref: '#/components/schemas/AccountIdentifierType'
        identification:
          type: string
          description: Account's IBAN
          example: DE12345123451234512345123
    BeneficiaryMatchStatus:
      type: string
      enum:
        - FULL_MATCH
        - CLOSE_MATCH
        - NO_MATCH
        - EXEMPTED
        - VERIFICATION_CHECK_NOT_POSSIBLE
    AccountIdentifierType:
      type: string
      enum:
        - IBAN
  examples:
    400-error-response:
      description: 400 Error
      value:
        error:
          tracingId: 0c2d0973bdd24224a65e5d0f7d1b6154
          code: 400
          status: BAD_REQUEST
          supportUrl: https://support.yapily.com/
          source: YAPILY
          issues:
            - type: BAD_REQUEST
              code: 10600
              message: >-
                The server could not understand the request due to invalid
                syntax
  securitySchemes:
    basicAuth:
      description: >-
        Use HTTP Basic Authentication with your Application ID as username and
        Application Secret as password. Manage credentials in the [Yapily
        Console](https://console.yapily.com/). See
        [Authentication](/api-reference/authentication) for details.
      scheme: basic
      type: http

````