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

# Create or update a consumer's KYC (Mangopay natural user).



## OpenAPI

````yaml /program/api/openapi/2.0.0/perks/openapi.json put /perks/consumers/{consumer_id}/kyc
openapi: 3.1.0
info:
  description: |
    Paylead Program API.
    You can find complete documentation in https://docs.paylead.com/
  license:
    name: Proprietary
    url: https://docs.paylead.com/
  title: Perks
  version: 2.0.0
servers:
  - description: Sandbox
    url: https://api-{programRef}.sandbox.paylead.tech
    variables:
      programRef:
        default: changeme
        description: Program reference provided by Paylead
security:
  - oauth2: []
tags:
  - description: Routes used to query consumers resources
    name: Consumers
    x-displayName: Consumers
  - name: UPM
    x-displayName: UPM
  - name: KYC
    x-displayName: KYC
  - name: Rewards
    x-displayName: Rewards
  - name: Segments
    x-displayName: Segments
  - name: Voucher Orders
    x-displayName: Voucher Orders
paths:
  /perks/consumers/{consumer_id}/kyc:
    put:
      tags:
        - KYC
      summary: Create or update a consumer's KYC (Mangopay natural user).
      operationId: perks__consumers__consumer_id__kyc__put
      parameters:
        - in: path
          name: consumer_id
          required: true
          schema:
            maxLength: 100
            minLength: 2
            pattern: ^[a-zA-Z0-9_.-]*$
            title: Consumer Id
            type: string
        - examples:
            default:
              value: 2.0.0
          in: header
          name: x-api-version
          required: false
          schema:
            default: 2.0.0
            title: X-Api-Version
            type: string
        - in: header
          name: Authorization
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Perks_KycToUpsertSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Perks_KycSchema'
          description: Successful Response
        '400':
          content:
            application/json:
              examples:
                PL-400-06:
                  summary: KYC Rejected
                  value:
                    code: PL-400-06
                    status: 400
                    title: KYC Rejected
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              examples:
                PL-401-00:
                  summary: Unauthorized
                  value:
                    code: PL-401-00
                    status: 401
                    title: Unauthorized
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              examples:
                PL-403-01:
                  summary: Consumer Pool Not Enabled
                  value:
                    code: PL-403-01
                    status: 403
                    title: Consumer Pool Not Enabled
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              examples:
                PL-404-02:
                  summary: Consumer Not Enrolled
                  value:
                    code: PL-404-02
                    status: 404
                    title: Consumer Not Enrolled
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '502':
          content:
            application/json:
              examples:
                PL-502-03:
                  summary: PSP Service Unavailable
                  value:
                    code: PL-502-03
                    status: 502
                    title: PSP Service Unavailable
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Gateway
components:
  schemas:
    Perks_KycToUpsertSchema:
      properties:
        birthday:
          anyOf:
            - format: date
              type: string
            - type: 'null'
          title: Birthday
        country_of_residence:
          anyOf:
            - type: string
            - type: 'null'
          title: Country Of Residence
        email:
          title: Email
          type: string
        first_name:
          minLength: 1
          title: First Name
          type: string
        last_name:
          minLength: 1
          title: Last Name
          type: string
        nationality:
          anyOf:
            - type: string
            - type: 'null'
          title: Nationality
      required:
        - email
        - first_name
        - last_name
      title: KycToUpsertSchema
      type: object
    Perks_KycSchema:
      properties:
        birthday:
          anyOf:
            - format: date
              type: string
            - type: 'null'
          title: Birthday
        country_of_residence:
          anyOf:
            - type: string
            - type: 'null'
          title: Country Of Residence
        email:
          title: Email
          type: string
        first_name:
          title: First Name
          type: string
        last_name:
          title: Last Name
          type: string
        nationality:
          anyOf:
            - type: string
            - type: 'null'
          title: Nationality
        natural_user_id:
          title: Natural User Id
          type: string
        status:
          title: Status
          type: string
      required:
        - natural_user_id
        - status
        - email
        - first_name
        - last_name
        - nationality
        - country_of_residence
        - birthday
      title: KycSchema
      type: object
    ErrorResponse:
      additionalProperties: false
      description: >-
        An error response object (PayLead profile).


        Extension members (e.g. ``errors`` for validation) are allowed and
        serialised as

        top-level keys.
      properties:
        code:
          title: Code
          type: string
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          default: null
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Instance
        status:
          title: Status
          type: integer
        title:
          title: Title
          type: string
      required:
        - code
        - title
        - status
      title: ErrorResponse
      type: object
  securitySchemes:
    oauth2:
      flows:
        clientCredentials:
          scopes:
            ALL: Full access to all resources (wildcard).
            LOYALTIES: Access to loyalties features.
            PERKS: Access to perks features.
            TX_INJECTION: Access to transaction sharing.
          tokenUrl: /tokens
      type: oauth2

````