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

# Start Individual Reveal

> >
Start an individual reveal. An individual reveal is a single contact enrichment. You can provide a name, company, and domain, or an email, or a LinkedIn profile URL.

> Either `company` (company name) or `domain` is required when using contact details.

Once the reveal is completed, an update will be posted to the webhook URL as configured in your [ account settings ]( http://wiza.co/app/settings/api ). The payload will be the same as the response of the Get Individual Reveal endpoint. If you wish to do added authentication, the headers in the webhook request will include `x-auth-key` which will be a SHA256 hash of your api key.

You can get the status of the individual reveal by calling the `GET /api/individual_reveals/:id` endpoint.




## OpenAPI

````yaml /swagger/v1/openapi.yaml post /api/individual_reveals
openapi: 3.0.1
info:
  title: Wiza API Documentation
  version: v1
servers:
  - url: https://wiza.co
    variables:
      defaultHost:
        default: wiza.co
security: []
paths:
  /api/individual_reveals:
    post:
      tags:
        - Individual Reveals
      summary: Start Individual Reveal
      description: >
        >

        Start an individual reveal. An individual reveal is a single contact
        enrichment. You can provide a name, company, and domain, or an email, or
        a LinkedIn profile URL.


        > Either `company` (company name) or `domain` is required when using
        contact details.


        Once the reveal is completed, an update will be posted to the webhook
        URL as configured in your [ account settings ](
        http://wiza.co/app/settings/api ). The payload will be the same as the
        response of the Get Individual Reveal endpoint. If you wish to do added
        authentication, the headers in the webhook request will include
        `x-auth-key` which will be a SHA256 hash of your api key.


        You can get the status of the individual reveal by calling the `GET
        /api/individual_reveals/:id` endpoint.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individual_reveal:
                  oneOf:
                    - $ref: '#/components/schemas/LinkedinProfileInput'
                    - $ref: '#/components/schemas/ContactDetailsInput'
                    - $ref: '#/components/schemas/EmailInput'
                enrichment_level:
                  type: string
                  enum:
                    - none
                    - partial
                    - phone
                    - full
                  description: >-
                    >

                    Enrichment level of the list.

                    | Enrichment Level   | Description              |

                    |--------|--------------------------------------|

                    | none   | Will enrich with contact's data when you provide
                    a Linkedin profile url or email. But will not find emails or
                    phone numbers |

                    | partial| Will find email.                     |

                    | phone  | Will find phone numbers.             |

                    | full   | Will find email and phone numbers.   |
                email_options:
                  description: >-
                    Types of emails to return. If not provided, all emails will
                    be returned.
                  type: object
                  properties:
                    accept_work:
                      type: boolean
                      description: Professional email address, i.e. tim.cooke@apple.com
                    accept_personal:
                      type: boolean
                      description: A personal email address, i.e. tcooke1960@gmail.com
                callback_url:
                  type: string
                  description: >-
                    URL to send the individual reveal update to. If not
                    provided, the default webhook URL configured in your account
                    settings will be used.
                reveal_options:
                  description: Optional advanced reveal options.
                  type: object
                  properties:
                    fair_key:
                      type: string
                      description: >-
                        >

                        An optional key used to fairly distribute throughput
                        across your own sub-groups (for example your end-users
                        or lists). Reveals are dispatched round-robin across
                        distinct `fair_key` values within your account's
                        concurrency limit, so a burst from one sub-group can't
                        starve the others. Use a stable identifier such as your
                        internal user id or list id. If omitted, reveals from
                        your account are dispatched in submission order.
              required:
                - individual_reveal
                - enrichment_level
            examples:
              With Contact Details:
                summary: Contact Details
                value:
                  individual_reveal:
                    full_name: Stephen Hakami
                    company: Wiza
                    domain: wiza.co
                  enrichment_level: partial
                  email_options:
                    accept_work: true
                    accept_personal: false
              With Linkedin URL:
                summary: Linkedin Profile
                value:
                  individual_reveal:
                    profile_url: https://www.linkedin.com/in/stephen-hakami-5babb21b0/
                  enrichment_level: partial
              With Email:
                summary: Email
                value:
                  individual_reveal:
                    email: stephen@wiza.co
                  enrichment_level: phone
              With Fair Distribution Key:
                summary: Fair Key
                value:
                  individual_reveal:
                    profile_url: https://www.linkedin.com/in/stephen-hakami-5babb21b0/
                  enrichment_level: partial
                  reveal_options:
                    fair_key: end-user-12345
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/StartIndividualRevealResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - queued
                              - resolving
                              - finished
                              - failed
                            description: |
                              >
                              Current status of the individual reveal.

                              | Status | Meaning |
                              | --- | --- |
                              | queued | Accepted and waiting to start. |
                              | resolving | Enrichment in progress. |
                              | finished | Enrichment completed successfully. |
                              | failed | Enrichment completed with errors. |
        '400':
          description: Error starting individual reveal
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 400
                      message:
                        type: string
                        example: Please add a valid payment method to start this scan.
                        description: |-
                          >
                                Potential error messages:

                                - Your seat is currently paused. Contact your account owner.
                                - Please make sure you have an active subscription.
                                - Please add a valid payment method to start this scan.
                                
        '401':
          description: Unauthorized
        '429':
          description: Queue full
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 429
                      message:
                        type: string
                        example: Queue is full. Try again later.
      security:
        - bearer_auth: []
components:
  schemas:
    LinkedinProfileInput:
      type: object
      required:
        - profile_url
      properties:
        profile_url:
          type: string
          description: >-
            URL of the Linkedin profile. e.g.
            "https://www.linkedin.com/in/stephen-hakami-5babb21b0/".
          example: https://www.linkedin.com/in/stephen-hakami-5babb21b0/
    ContactDetailsInput:
      type: object
      required:
        - full_name
      anyOf:
        - required:
            - company
        - required:
            - domain
      properties:
        full_name:
          type: string
          description: Full name of the contact. e.g. "Stephen Hakami".
          example: Stephen Hakami
        company:
          type: string
          description: >-
            Name of the company. e.g. "Wiza". Either company (company name) or
            domain is required.
          example: Wiza
        domain:
          type: string
          description: >-
            Domain of the company. e.g. "wiza.co". Either company (company name)
            or domain is required.
          example: wiza.co
        profile_url:
          type: string
          description: >-
            URL of the Linkedin profile. e.g.
            "https://www.linkedin.com/in/stephen-hakami-5babb21b0/".
          example: https://www.linkedin.com/in/stephen-hakami-5babb21b0/
        email:
          type: string
          description: Email address of the contact.
          example: stephen@wiza.co
    EmailInput:
      type: object
      required:
        - email
      properties:
        email:
          type: string
          description: Email address of the contact.
          example: stephen@wiza.co
    StartIndividualRevealResponse:
      type: object
      properties:
        status:
          type: object
          properties:
            code:
              type: integer
              example: 200
            message:
              type: string
              example: 🧙 Wiza is working on it!
        type:
          type: string
          enum:
            - individual_reveal
          example: individual_reveal
        data:
          type: object
          properties:
            id:
              type: integer
              example: 32
            status:
              type: string
              example: queued
            is_complete:
              type: boolean
              example: false
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: >-
        Enter your bearer token (your API key) in the **Authorization** header
        in the format `Bearer {token}`

````