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

# Get vendor

> Retrieves a vendor by its id, with the W9 details the list omits. Answers 404 when the vendor
belongs to another company, so a vendor id cannot be probed for existence.




## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/vendors/{id}
openapi: 3.0.0
info:
  title: Every Public API
  version: 1.0.0
  description: >
    The Every public API. Keys are issued per company and every response is
    scoped to the company

    that owns the calling key.


    Every response carries an `x-request-id` header, generated by Every for that
    request. Quote it

    when contacting support: it is the id the request is recorded under. A
    caller-supplied

    `x-request-id` is never echoed.
servers:
  - url: https://api.public.every.io/company
    description: Production
security:
  - apiKey: []
tags:
  - name: Company
    description: The company the calling key belongs to.
  - name: Vendors
    description: The people and businesses the company pays, and their W9 details.
  - name: Bank accounts
    description: A vendor's accounts at its own bank, the accounts payments are paid into.
  - name: Payments
    description: >-
      ACH payments from the company's Every account to a vendor, and where they
      are.
  - name: Reference data
    description: The categories and departments a payment is filed under.
paths:
  /v1/vendors/{id}:
    get:
      tags:
        - Vendors
      summary: Get vendor
      description: >
        Retrieves a vendor by its id, with the W9 details the list omits.
        Answers 404 when the vendor

        belongs to another company, so a vendor id cannot be probed for
        existence.
      operationId: getVendorById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: The vendor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: No such vendor in the calling company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    Id:
      type: string
      format: uuid
    VendorDetail:
      description: >-
        A single vendor, with the W9 details it was created or updated with. The
        list omits them: a taxpayer id is not something to hand out a page at a
        time, and even here `tax_ein` is masked.
      allOf:
        - $ref: '#/components/schemas/Vendor'
        - type: object
          required:
            - w9
          properties:
            w9:
              $ref: '#/components/schemas/VendorW9Details'
    Error:
      type: object
      properties:
        message:
          type: string
        errors:
          type: array
          items:
            type: object
    Vendor:
      type: object
      required:
        - id
        - company_id
        - display_name
        - w9_complete
      properties:
        id:
          $ref: '#/components/schemas/Id'
        company_id:
          $ref: '#/components/schemas/Id'
        display_name:
          description: The vendor name, as shown in the Every dashboard
          type: string
        email:
          description: The vendor contact email
          type: string
          nullable: true
        created_at:
          description: The date the vendor was created
          type: string
          format: date
          nullable: true
        w9_complete:
          description: >-
            Whether the vendor's W9 details are on file. False while the vendor
            still has an onboarding form to fill in, whether it was asked
            through this API or in the Every dashboard.
          type: boolean
    VendorW9Details:
      description: >-
        The stored W9 details, in the shape `w9` is written in, so they can be
        read, completed and sent back. Null fields are the ones the vendor has
        not provided. `tax_ein` is the one field that does not round-trip: it is
        served masked, and an update that sends the mask back is refused.
      type: object
      required:
        - mandatory_w9_legal
      properties:
        entity_type:
          type: string
          nullable: true
        ein_type:
          type: string
          nullable: true
        tax_ein:
          description: >-
            The taxpayer identification number, masked to its last four digits
            (`*****6789`). The full number is never served. To change it, send
            all nine digits in `PUT /v1/vendors/{id}`; to keep it, omit it.
          type: string
          nullable: true
          example: '*****6789'
        address_street:
          type: string
          nullable: true
        address_street2:
          type: string
          nullable: true
        address_city:
          type: string
          nullable: true
        address_state:
          type: string
          nullable: true
        address_postal_code:
          type: string
          nullable: true
        address_country:
          type: string
          nullable: true
        mandatory_w9_legal:
          description: >-
            Whether the vendor provides legal services, which are reportable
            whatever the amount
          type: boolean
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: >-
        The `x-api-key` header is missing, or the key is unknown, revoked, or
        not enabled for this API. The body is `{"message":"Forbidden"}`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UnexpectedError:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.