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

# Update beneficiary



## OpenAPI

````yaml /openapi/kyb.yaml put /kyb/forms/{companyId}/beneficiaries/{id}/
openapi: 3.1.0
info:
  title: iDenfy IVS Core API
  version: 0.0.0
  description: iDenfy Identity Verification Service's Core API documentation.
  contact:
    name: API Support
    url: https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1
  x-logo:
    url: /static/idenfy_logo.svg
    altText: iDenfy logo
servers:
  - url: https://ivs.idenfy.com
security: []
tags:
  - name: KYB Token
    description: KYB token endpoints to begin KYB flow.
  - name: KYB Forms
    description: Endpoints for KYB form actions.
  - name: KYB Documents
    description: KYB documents CRUD endpoints for the KYB form.
  - name: Beneficiaries
    description: Beneficiaries CRUD endpoints for the KYB form.
  - name: KYB Questionnaires
    description: KYB questionnaires endpoints.
  - name: Companies
    description: Endpoints for actions with companies.
  - name: Credit Bureau
    description: Endpoints for actions with credit bureau documents.
  - name: GOV Registers
    description: Endpoints for actions with GOV registers documents.
  - name: GOV Orders
    description: Endpoints for actions with GOV ordered documents.
  - name: SOS Reports
    description: Endpoints for actions with SOS filing documents.
  - name: Webhooks
    description: Webhooks.
externalDocs:
  description: For other/more docs on iDenfy services visit our main documentation page.
  url: https://documentation.idenfy.com
paths:
  /kyb/forms/{companyId}/beneficiaries/{id}/:
    put:
      tags:
        - Beneficiaries
      summary: Update beneficiary
      operationId: kybFormsBeneficiariesUpdate
      parameters:
        - in: path
          name: companyId
          schema:
            type: string
          required: true
        - in: path
          name: id
          schema:
            type: string
          description: A unique value identifying this beneficiary.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Beneficiary'
          description: ''
      security:
        - kybTokenAuth: []
        - apiKeyPair: []
components:
  schemas:
    BeneficiaryRequest:
      type: object
      properties:
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/ApplicantRequest'
        positions:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: >-
            Positions of the beneficiary. Can be `shareholder`, `director`, or
            any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100
          minimum: 0
          nullable: true
      required:
        - info
    Beneficiary:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/Applicant'
        positions:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: >-
            Positions of the beneficiary. Can be `shareholder`, `director`, or
            any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100
          minimum: 0
          nullable: true
        parent:
          type: string
          readOnly: true
          nullable: true
      required:
        - id
        - info
        - parent
    BeneficiaryTypeEnum:
      enum:
        - CEO
        - REPRESENTATIVE
        - SHAREHOLDER
        - UBO
        - ABO
      type: string
    ApplicantRequest:
      oneOf:
        - $ref: '#/components/schemas/IndividualApplicantRequest'
        - $ref: '#/components/schemas/CompanyApplicantRequest'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL:
            $ref: '#/components/schemas/IndividualApplicantRequest'
          COMPANY:
            $ref: '#/components/schemas/CompanyApplicantRequest'
    Applicant:
      oneOf:
        - $ref: '#/components/schemas/IndividualApplicant'
        - $ref: '#/components/schemas/CompanyApplicant'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL:
            $ref: '#/components/schemas/IndividualApplicant'
          COMPANY:
            $ref: '#/components/schemas/CompanyApplicant'
    IndividualApplicantRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          minLength: 1
          maxLength: 100
        surname:
          type: string
          minLength: 1
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
        - infoType
        - name
        - surname
    CompanyApplicantRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          minLength: 1
          maxLength: 255
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
        - companyName
        - country
        - infoType
    IndividualApplicant:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          maxLength: 100
        surname:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CustomFieldValue'
      required:
        - infoType
        - name
        - surname
    CompanyApplicant:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          maxLength: 255
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CustomFieldValue'
      required:
        - companyName
        - country
        - infoType
    ApplicantTypeEnum:
      enum:
        - INDIVIDUAL
        - COMPANY
      type: string
    CountryEnum:
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - KH
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - CD
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - XK
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - KP
        - MK
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - KR
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - UM
        - US
        - UY
        - UZ
        - VU
        - VA
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
      type: string
    AdditionalFieldValueRequest:
      type: object
      properties:
        value:
          nullable: true
      required:
        - value
    CustomFieldValue:
      oneOf:
        - $ref: '#/components/schemas/CheckboxFieldValue'
        - $ref: '#/components/schemas/CountryFieldValue'
        - $ref: '#/components/schemas/CountryMultiFieldValue'
        - $ref: '#/components/schemas/DateFieldValue'
        - $ref: '#/components/schemas/IntegerFieldValue'
        - $ref: '#/components/schemas/SelectFieldValue'
        - $ref: '#/components/schemas/SelectMultiFieldValue'
        - $ref: '#/components/schemas/TextFieldValue'
      discriminator:
        propertyName: type
        mapping:
          CHECKBOX:
            $ref: '#/components/schemas/CheckboxFieldValue'
          COUNTRY:
            $ref: '#/components/schemas/CountryFieldValue'
          COUNTRY_MULTI:
            $ref: '#/components/schemas/CountryMultiFieldValue'
          DATE:
            $ref: '#/components/schemas/DateFieldValue'
          INTEGER:
            $ref: '#/components/schemas/IntegerFieldValue'
          SELECT:
            $ref: '#/components/schemas/SelectFieldValue'
          SELECT_MULTI:
            $ref: '#/components/schemas/SelectMultiFieldValue'
          TEXT:
            $ref: '#/components/schemas/TextFieldValue'
    CheckboxFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: boolean
          nullable: true
      required:
        - title
        - type
    CountryFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          nullable: true
      required:
        - title
        - type
    CountryMultiFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: array
          items:
            $ref: '#/components/schemas/CountryEnum'
          nullable: true
      required:
        - title
        - type
    DateFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          format: date
          nullable: true
      required:
        - title
        - type
    IntegerFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: integer
          nullable: true
      required:
        - title
        - type
    SelectFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          nullable: true
          pattern: ^[\w_*-]+$
          maxLength: 32
      required:
        - title
        - type
    SelectMultiFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: array
          items:
            type: string
            pattern: ^[\w_*-]+$
            maxLength: 32
          nullable: true
      required:
        - title
        - type
    TextFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          nullable: true
          maxLength: 100
      required:
        - title
        - type
    CustomFieldTypeEnum:
      enum:
        - CHECKBOX
        - COUNTRY
        - COUNTRY_MULTI
        - DATE
        - INTEGER
        - SELECT
        - SELECT_MULTI
        - TEXT
      type: string
  securitySchemes:
    kybTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Authentication for actions with all operations associated with KYB
        form.<br>

        Token obtained from *KYB form token generation* endpoint as
        ``tokenString`` value.<br>
    apiKeyPair:
      type: http
      scheme: basic
      description: >-
        The request must contain basic auth headers where username is *API key*
        and password is *API secret*.<br>

        In order for you to start using our API you will need an **API key** and
        **API secret**.<br>

        Both can be retrieved by contacting *iDenfy's support* or *iDenfy's
        sales team*.

````