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

# Update Business KYB ( SUNSETTING )

> **This Endpoint is Sunsetting and you should use the stable endpoint. Sunsetting APIs that are still supported but scheduled for deprecation.**



## OpenAPI

````yaml https://api.grailpay.com/docs?api-docs.json post /3p/api/v2/users/{uuid}/kyb
openapi: 3.0.0
info:
  title: GrailPay ACH API
  description: API Documentation for moving funds via ACH using the GrailPay ACH API
  version: 2025.12.19.2
servers:
  - url: https://api.grailpay.com
    description: Production environment
  - url: https://api-sandbox.grailpay.com
    description: Sandbox environment
security: []
tags:
  - name: Users
    description: >-
      API Endpoints used for the onboarding and managing People, Businesses, and
      Merchants.
  - name: Transactions
    description: API Endpoints used for creating and managing transactions.
  - name: Payouts
    description: API Endpoints used for fetching payout information.
  - name: Refunds
    description: API Endpoints used for creating and retrieving refunds.
  - name: Bank Accounts
    description: API Endpoints used for adding and managing bank accounts.
  - name: Webhooks
    description: API Endpoints used for registering and de-registering webhooks.
  - name: Billing
    description: API Endpoints used for retrieving billing information.
  - name: Stable
    description: Stable, up-to-date APIs that are recommended for current integration.
  - name: Sunsetting
    description: Sunsetting APIs that are still supported but scheduled for deprecation.
  - name: Deprecated
    description: Deprecated APIs that are no longer supported and should be removed.
  - name: SUNSETTING
    description: SUNSETTING
paths:
  /3p/api/v2/users/{uuid}/kyb:
    post:
      tags:
        - Users
        - Sunsetting
      summary: Update Business KYB ( SUNSETTING )
      description: >-
        **This Endpoint is Sunsetting and you should use the stable endpoint.
        Sunsetting APIs that are still supported but scheduled for
        deprecation.**
      operationId: 7acac74adaf5357356a4a694430fe2f2
      parameters:
        - $ref: '#/components/parameters/UserUuidPathParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBusinessKybRequest'
      responses:
        '200':
          description: Business Successfully updated
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: The business KYB has been updated.
                  data:
                    type: string
                    example: null
                  errors:
                    type: string
                    example: null
                  error_code:
                    type: string
                    example: null
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Invalid token.
                  data:
                    type: string
                    example: null
                  errors:
                    type: string
                    example: null
                  error_code:
                    type: string
                    example: null
                type: object
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Only business users are allowed to update KYB.
                  data:
                    type: string
                    example: null
                  errors:
                    type: string
                    example: null
                  error_code:
                    type: string
                    example: null
                type: object
        '404':
          description: User not found
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: User not found.
                  data:
                    type: string
                    example: null
                  errors:
                    type: string
                    example: null
                  error_code:
                    type: string
                    example: null
                type: object
        '406':
          description: Error
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: The requested billing merchant user uuid does not exist.
                  data:
                    type: string
                    example: null
                  errors:
                    type: string
                    example: null
                  error_code:
                    type: string
                    example: null
                type: object
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: The given data was invalid.
                  data:
                    type: string
                    example: null
                  errors:
                    properties:
                      first_name:
                        type: array
                        items:
                          type: string
                          example: The tin is required.
                    type: object
                  error_code:
                    type: string
                    example: null
                type: object
      security:
        - ApiToken: []
components:
  parameters:
    UserUuidPathParam:
      name: uuid
      in: path
      description: UUID of the user
      required: true
      schema:
        type: string
        format: uuid
  schemas:
    UpdateBusinessKybRequest:
      required:
        - first_name
        - last_name
        - email
        - phone
        - business
        - address
      properties:
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        email:
          type: string
          example: ''
        phone:
          type: string
          example: ''
        business:
          required:
            - name
            - tin
          properties:
            name:
              type: string
              example: Business Name
            tin:
              type: string
              example: '123456789'
            trading_name:
              type: string
              example: Business Trading Name
            entity_type:
              type: string
              example: ''
            incorporation_date:
              type: string
              example: '2021-01-01'
            incorporation_state:
              type: string
              example: CO
            industry:
              type: string
              example: ''
            industry_classification:
              properties:
                code_type:
                  type: string
                  example: ''
                codes:
                  type: array
                  items:
                    type: string
                description:
                  type: string
                  example: ''
              type: object
            source_of_wealth:
              type: string
              example: ''
            source_of_funds:
              type: string
              example: ''
            first_transaction_completed_at:
              type: string
              example: '2021-01-01 00:00:00'
            product_type:
              type: string
              example: ''
            registered_as_inactive:
              type: boolean
              example: false
            address_type:
              type: string
              example: ''
            address:
              required:
                - line_1
                - city
                - state
                - zip
              properties:
                line_1:
                  type: string
                  example: 123 Main St
                line_2:
                  type: string
                  example: Apt 1
                city:
                  type: string
                  example: Denver
                state:
                  type: string
                  example: CO
                zip:
                  type: string
                  example: '80202'
              type: object
          type: object
        billing_merchant_user_uuid:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
        billing_processor_mid:
          type: string
          example: '1234567890'
      type: object
  securitySchemes:
    ApiToken:
      type: http
      description: >-
        Token-based authentication using Authorization: Bearer <YOUR_API_KEY>
        provided by the GrailPay Support Team.
      bearerFormat: Token
      scheme: bearer

````