# OpenAPI Specification

{% file src="/files/X1LuoW2MHZNCkiEeSV4h" %}
ExactBuyer OpenAPI Specification
{% endfile %}

```yaml
openapi: 3.0.0
info:
  title: ExactBuyer API
  version: "1.0"
  contact:
    name: ExactBuyer
    url: https://www.exactbuyer.com
    email: support@exactbuyer.com
servers:
  - url: https://api.exactbuyer.com
paths:
  /v1/enrich:
    get:
      summary: Enrich a single contact via email/phone/social profile.
      operationId: enrichContact
      parameters:
        - name: first_name
          description: The first name of the person to look up.
          in: query
          schema:
            type: string
        - name: last_name
          description: The last name of the person to look up.
          in: query
          schema:
            type: string
        - name: company_name
          description: The name of a company where the person works at.
          in: query
          schema:
            type: string
        - name: company_domain
          description: The website of a company where the person works at.
          in: query
          schema:
            type: string
        - name: required
          description: A comma-separated string of certain fields which must be present in each enriched contact. If the required_fields are specified, a match will only be considered successful if it contains all of these fields. Possible values email, work_email, any_work_email, personal_email, phone, email_or_phone, social_profile
          in: query
          schema:
            type: string
        - name: phone
          description: The phone number to look up.
          in: query
          schema:
            type: string
        - name: email
          description: The email address to look up.
          in: query
          schema:
            type: string
        - name: social_profile
          description: The social profile to lookup e.g. linkedin profile URL.
          in: query
          schema:
            type: string
        - name: include_all_experiences
          description: Include the complete employment history under the 'experiences' key in the response. 
          in: query
          schema:
            type: boolean
        - name: realtime
          description: Enable realtime data fetching. This may increase the latency by 10-15 seconds. Default false. An additional credit will be deducted if this is true.  
          in: query
          schema:
            type: boolean
            default: false
        - name: waterfall
          description: Enable data fetching from additional sources. Useful for getting more coverage on emails and phones. An additional credit will be deducted if this is true. 
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: Successful response with enriched contact data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichedContact'
        '400':
          description: Badly formatted request
        '401':
          description: API key is invalid
        '403':
          description: Insufficient credits
        '404':
          description: Contact not found
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error

      security:
        - ApiKeyAuth: []
components:
  schemas:
    EnrichedContact:
      type: object
      properties:
        result:
            type: object
            properties:
              _id:
                type: string
              about:
                type: string
              accomplishment_courses:
                type: array
                items:
                  $ref: '#/components/schemas/Course'
              accomplishment_honors_awards:
                type: array
                items:
                  $ref: '#/components/schemas/HonorAward'
              accomplishment_organisations:
                type: array
                items:
                  type: object
              accomplishment_patents:
                type: array
                items:
                  type: object
              accomplishment_projects:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
              accomplishment_publications:
                type: array
                items:
                  type: object
              activities:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
              articles:
                type: array
                items:
                  type: object
              birth_date:
                type: string
              certifications:
                type: array
                items:
                  type: string
              current_work_email:
                type: string
              current_work_email_status:
                type: string
              education:
                type: array
                items:
                  $ref: '#/components/schemas/Education'
              employment:
                $ref: '#/components/schemas/Employment'
              first_name:
                type: string
              full_name:
                type: string
              gender:
                type: string
              groups:
                type: array
                items:
                  type: object
              headline:
                type: string
              historical_emails:
                type: array
                items:
                  type: string
              interests:
                type: array
                items:
                  type: string
              languages:
                type: array
                items:
                  $ref: '#/components/schemas/Language'
              last_name:
                type: string
              last_updated:
                type: string
              location:
                $ref: '#/components/schemas/Location'
              occupation:
                type: string
              other_current_work_emails:
                type: array
                items:
                  $ref: '#/components/schemas/WorkEmail'
              people_also_viewed:
                type: array
                items:
                  $ref: '#/components/schemas/PersonViewed'
              personal_emails:
                type: array
                items:
                  type: string
              phone_numbers:
                type: array
                items:
                  $ref: '#/components/schemas/PhoneNumber'
              profile_pic_url:
                type: string
              recommendations:
                type: array
                items:
                  type: string
              skills:
                type: array
                items:
                  type: string
              social_profiles:
                type: array
                items:
                  $ref: '#/components/schemas/SocialProfile'
              volunteer_work:
                type: array
                items:
                  type: object

    Course:
      type: object
      properties:
        name:
          type: string
        number:
          type: string
    HonorAward:
      type: object
      properties:
        description:
          type: string
        issued_on:
          $ref: '#/components/schemas/Date'
        issuer:
          type: string
        title:
          type: string
    Project:
      type: object
      properties:
        description:
          type: string
        ends_at:
          $ref: '#/components/schemas/Date'
        starts_at:
          $ref: '#/components/schemas/Date'
        title:
          type: string
        url:
          type: string
          format: uri
    Activity:
      type: object
      properties:
        activity_status:
          type: string
        link:
          type: string
          format: uri
        title:
          type: string
    Education:
      type: object
      properties:
        degrees:
          type: array
          items:
            type: string
        end_date:
          type: string
        gpa:
          type: string
        locations:
          type: array
          items:
            type: string
        majors:
          type: array
          items:
            type: string
        minors:
          type: array
          items:
            type: string
        school:
          $ref: '#/components/schemas/School'
    Employment:
      type: object
      properties:
        company_email_domain:
          type: string
        founded:
          type: string
        industry:
          type: string
        inferred_salary:
          type: string
        inferred_years_experience:
          type: integer
        is_current_experience:
          type: boolean
        job:
          $ref: '#/components/schemas/Job'
        linkedin_url:
          oneOf:
            - type: string
              format: uri
            - type: array
              items:
                type: string
                format: uri
        location:
          $ref: '#/components/schemas/Location'
        name:
          type: string
        profile_pic_url:
          type: string
          format: uri
        size:
          type: string
        website:
          type: string
          format: uri
    Language:
      type: object
      properties:
        name:
          type: string
        proficiency:
          type: integer
    Location:
      type: object
      properties:
        continent:
          type: string
        country:
          type: string
        locality:
          type: string
        name:
          type: string
        postal_code:
          type: string
        region:
          type: string
        street_address:
          type: string
    WorkEmail:
      type: object
      properties:
        status:
          type: string
        work_email:
          type: string
    PersonViewed:
      type: object
      properties:
        link:
          type: string
          format: uri
        location:
          type: string
        name:
          type: string
        summary:
          type: string
    PhoneNumber:
      type: object
      properties:
        E164:
          type: string
        NXX_use_type:
          type: string
        national_number:
          type: string
        type:
          type: string
    SocialProfile:
      type: object
      properties:
        network:
          type: string
        url:
          type: string
          format: uri
    School:
      type: object
      properties:
        location:
          type: string
        name:
          type: string
        profiles:
          type: array
          items:
            type: string
          format: uri
        type:
          type: string
        website:
          type: string
          format: uri
    Job:
      type: object
      properties:
        department:
          type: array
          items:
            type: string
        end_date:
          type: string
        functions:
          type: array
          items:
            type: string
        seniority:
          type: array
          items:
            type: string
        start_date:
          type: string
        summaries:
          type: array
          items:
            type: string
        title:
          type: string
    Date:
      type: object
      properties:
        day:
          type: integer
        month:
          type: integer
        year:
          type: integer

  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.exactbuyer.com/master/openapi-specification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
