# Validate Member

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v3/{loyalty_club_slug}/members/validate:
    post:
      summary: Validate Member
      deprecated: false
      description: "Checks if given data is valid for new member registration. Returns successful response (200), regardless of data validity.\n\n### About partial validation mechanism\n\nOnly properties which keys are present in given payload will be checked against presence validation.\n\nFor example, let's say that Loyalty Club configuration requires member to have `msisdn` property set.\n\n* if `\"msisdn\": \"\"` or`\"msisdn\": null`\" is present in the payload, the validation will return error stating that `msisdn` must be present.\n* however, when payload doesn't include the `msisdn` key, such error will not be returned.\n\nThis behaviour has been designed to allow validate member partially, property by property. This way you can choose\nwhat values should be validated at specific point of registration.\n\n## Body Parameters\n\nFollowing keys of [Members > Create](api-3510819#body-parameters) payload are supported when validating:\n\n* properties\n* consents\n* registration_password\n\n## Response Body\n\nKey    | Type    | Description\n--------|---------|------------------------------------------------------------------------------------\nvalid  | boolean | Is the data valid?\nerrors | object  | [validation errors](doc-342131#validation-on-members) JSON object, `null` when data is valid\n\n## Example\n\n```shell\n\ncurl -X POST \\\n  https://api.mpc.placewise.com/v3/infinity-mall/members/validate \\\n  -H 'content-type: application/json' \\\n  -H 'x-client-authorization: B7t9U9tsoWsGhrv2ouUoSqpM' \\\n  -H 'x-product-name: android-app' \\\n  -H 'X-Subproduct-Name: campaign-10-2017' \\\n  -H 'x-user-agent: CURL manual test' \\\n  -d '{\n\t\"properties\": {\n\t\t\"gender\": \"wrong\",\n\t\t\"email\": \"foo@ba.r.ba.z\"\n\t},\n\t\"registration_password\": \"a145\"\n  }'\n\n```\n\nWhen data is valid, returns JSON object structured like this\n\n```json\n{\n    \"valid\": true,\n    \"errors\": null\n}\n```\n\nWhen data is not valid, returns JSON object structured like this\n\n```json\n{\n    \"valid\": false,\n    \"errors\": {\n        \"properties\": [\n            {\n                \"error\": {\n                    \"gender\": [\n                        { \"error\": \"value_not_match\", \"property\": \"gender\", \"value\": \"wrong\", \"values\": \"man, woman\" }\n                    ]\n                }\n            }\n        ],\n        \"email\": [{ \"error\": \"invalid_mx\", \"property\": \"email\"}\n        ],\n        \"registration_password\": [\n            {\n                \"error\": \"invalid\"\n            }\n        ]\n    }\n}\n```"
      tags:
        - API Reference/Public API/Member/Profile
      parameters:
        - name: loyalty_club_slug
          in: path
          description: ''
          required: true
          example: infinity-mall
          schema:
            type: string
        - name: Content-Type
          in: header
          description: '[Details](doc-341635)'
          required: true
          example: application/json
          schema:
            type: string
            default: application/json
            const: application/json
        - name: X-User-Agent
          in: header
          description: Arbitrary identifier of your client. [Details](doc-341635)
          required: true
          example: '{{X_USER_AGENT}}'
          schema:
            type: string
            default: '{{X_USER_AGENT}}'
        - name: X-Product-Name
          in: header
          description: API Product for API context. [Details](doc-341635)
          required: true
          example: '{{PRODUCT_NAME}}'
          schema:
            type: string
            default: '{{PRODUCT_NAME}}'
        - name: X-Loyalty-Club-Slug
          in: header
          description: LoyaltyClub for API context. [Details](doc-342138)
          required: false
          example: '{{LOYALTY_CLUB_SLUG}}'
          schema:
            type: string
            default: '{{LOYALTY_CLUB_SLUG}}'
        - name: X-Customer
          in: header
          description: Customer for API context.  [Details](doc-342139)
          required: false
          example: '{{CUSTOMER_ID}}'
          schema:
            type: string
            default: '{{CUSTOMER_ID}}'
        - name: Authorization
          in: header
          description: '[Member](doc-342129) or [User](doc-342130) Authorization.'
          required: false
          example: Bearer {{_OAUTH_TOKEN}}
          schema:
            type: string
            default: Bearer {{_OAUTH_TOKEN}}
        - name: X-Client-Authorization
          in: header
          description: '[Token](doc-342128) Authorization.'
          example: '{{API_TOKEN}}'
          schema:
            type: string
            default: '{{API_TOKEN}}'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
          headers: {}
          x-apidog-name: Success
      security: []
      x-apidog-folder: API Reference/Public API/Member/Profile
      x-apidog-status: pending
      x-run-in-apidog: https://app.eu.apidog.com/web/project/346351/apis/api-3510821-run
components:
  schemas: {}
  securitySchemes: {}
servers:
  - url: https://api.mpc.dev.placewise.com
    description: Staging
security: []

```