> ## 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.

# Onboard a new person ( DEPRECATED )

> **This Endpoint is deprecated. Deprecated APIs that are no longer supported and should be removed from your integration. Please use the Stable version for your integration.*



## OpenAPI

````yaml https://api.grailpay.com/docs?api-docs.json post /3p/api/v1/register/person
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/v1/register/person:
    post:
      tags:
        - Users
        - Stable
      summary: Onboard a new person ( DEPRECATED )
      description: >-
        **This Endpoint is deprecated. Deprecated APIs that are no longer
        supported and should be removed from your integration. Please use the
        Stable version for your integration.*
      operationId: 4e6821d5a66192e6734d345b9c4efb04
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V1RegisterPersonRequest'
      responses:
        '201':
          description: Person registered successfully
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: ''
                  data:
                    type: object
                    allOf:
                      - $ref: '#/components/schemas/V1RegisterPersonResponse'
                      - properties:
                          duplicate_uuids:
                            type: array
                            items:
                              type: string
                            example: null
                          valid_account:
                            type: boolean
                            example: null
                        type: object
                type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: >-
                      Invalid routing_number: 000000001. This routing number has
                      an invalid check digit.
                  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:
                oneOf:
                  - $ref: '#/components/schemas/Error401Unauthorized'
                  - $ref: '#/components/schemas/Error401InvalidTokenStructure'
                  - $ref: '#/components/schemas/Error401InvalidTokenData'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403ForbiddenResponse'
        '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 first name must be a string.
                    type: object
                  error_code:
                    type: string
                    example: null
                type: object
      security:
        - ApiToken: []
components:
  schemas:
    V1RegisterPersonRequest:
      properties:
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        email:
          type: integer
          example: abc@abc.com
        phone:
          type: integer
          example: null
        client_reference_id:
          type: string
          example: null
        billing_merchant_user_uuid:
          type: string
          example: 9c330a70-84de-46c3-a380-70b34799b1d3
        billing_processor_mid:
          type: string
          example: '34234244333'
        payout_type:
          type: string
          example: batch
        address:
          properties:
            line_1:
              type: string
              example: 20 Elmora Ave
            line_2:
              type: string
              example: ''
            city:
              type: string
              example: Elizabeth
            state:
              type: string
              example: NJ
            zip:
              type: string
              example: '07202'
          type: object
        bank_account:
          properties:
            plaid:
              properties:
                access_token:
                  type: string
                  example: NJ
                account_id:
                  type: string
                  example: '07202'
              type: object
            custom:
              properties:
                account_number:
                  type: string
                  example: '12345678901234'
                routing_number:
                  type: string
                  example: '056008849'
                account_name:
                  type: string
                  example: Jack Jones
                account_type:
                  type: string
                  example: checking
                validate_account_routing:
                  type: boolean
                  example: true
              type: object
          type: object
      type: object
    V1RegisterPersonResponse:
      properties:
        client_reference_id:
          type: string
          example: ''
        uuid:
          type: string
          example: 401c79dd-d38c-4c3a-8edf-1afac5914d2d
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        email:
          type: string
          example: ''
        phone:
          type: string
          example: ''
        status:
          type: string
          example: Approved|On Hold|Rejected
        payout_type:
          type: string
          example: individual|batch
        address:
          properties:
            street_address:
              type: string
              example: 20 Elmora Ave
            additional_address:
              type: string
              example: ''
            city:
              type: string
              example: Elizabeth
            state:
              type: string
              example: NJ
            country:
              type: string
              example: US
            zip:
              type: string
              example: '07202'
          type: object
        created_at:
          type: string
          format: date-time
          example: '2024-06-03 15:58:44'
        updated_at:
          type: string
          format: date-time
          example: '2024-06-04 18:30:30'
      type: object
    Error401Unauthorized:
      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
    Error401InvalidTokenStructure:
      properties:
        status:
          type: boolean
          example: false
        message:
          type: string
          example: >-
            Invalid token format. The token should be in the following format:
            ID|TOKEN_VALUE. Example: 12345|abcdefg
        data:
          type: string
          example: null
        errors:
          type: string
          example: null
        error_code:
          type: string
          example: null
      type: object
    Error401InvalidTokenData:
      properties:
        status:
          type: boolean
          example: false
        message:
          type: string
          example: >-
            Invalid token format. The ID in the token must be an integer.
            Example: 12345|abcdefg
        data:
          type: string
          example: null
        errors:
          type: string
          example: null
        error_code:
          type: string
          example: null
      type: object
    Error403ForbiddenResponse:
      properties:
        status:
          type: boolean
          example: false
        message:
          type: string
          example: Access denied. Please use a secure (HTTPS) connection.
        data:
          type: string
          example: null
        errors:
          type: string
          example: null
        error_code:
          type: string
          example: null
      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

````