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

# Get Company

> Returns a single company. Direct client keys can only access their own company; ATS keys can only access companies they created.

Retrieves a specific company by ID. Access rules differ between regular API keys and ATS integration keys.

## Overview

The get company endpoint returns complete information about a single company, including name, website, industry, and settings. Regular API keys can only access their own company, while ATS keys can access companies they've created.

## Access Rules

### Regular API Keys

Regular API keys can only access their associated company:

```javascript theme={null}
// ✅ Can access own company
GET /company/{own-company-id}

// ❌ Cannot access other companies
GET /company/{other-company-id}
// Returns: 403 Forbidden
```

### ATS Integration Keys

ATS keys can access any company they've created:

```javascript theme={null}
// ✅ Can access companies created by this ATS key
GET /company/{ats-managed-company-id}

// ❌ Cannot access companies not managed by this ATS key
GET /company/{unmanaged-company-id}
// Returns: 403 Forbidden
```

## Use Cases

* **Company Profile Display**: Show company information in your UI
* **Access Verification**: Verify company access before operations
* **Company Details**: Retrieve company settings and configuration

## Response Data

The response includes company information:

* Basic details (name, website, industry)
* Company size and location
* Settings (timezone, locale)
* Timestamps (created, updated)

## Error Scenarios

* **404 Not Found**: Company doesn't exist
* **403 Forbidden**: Company is not accessible with your API key type

## Related Resources

<CardGroup cols={2}>
  <Card title="ATS Integration Guide" icon="plug" href="/guides/ats-integration">
    Learn about ATS integration keys and access rules
  </Card>

  <Card title="Companies Resource Guide" icon="building" href="/guides/resources/companies">
    Understand company management
  </Card>

  <Card title="Update Company" icon="pen" href="/api-reference/companies/update-company">
    Modify company information
  </Card>
</CardGroup>


## OpenAPI

````yaml GET /company/{id}
openapi: 3.0.0
info:
  title: InstaView API
  description: |-
    InstaView API Documentation

    ## Authentication

    All endpoints require API key authentication using Bearer token:
    ```
    Authorization: Bearer sk_your_api_key_here
    ```

    ## API Key Management

    The API Key module provides comprehensive key management for:
    - **Direct Client Keys**: Company-scoped keys for your applications
    - **ATS Partner Keys**: Resource-scoped keys for ATS integrations

    ### Key Features
    - HMAC-SHA256 hashing for API key storage
    - Configurable rate limiting
    - Comprehensive audit logging
    - Company-level isolation
    - Resource scoping for ATS partners
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.instaview.sk
    description: Production API Gateway
security: []
tags: []
paths:
  /company/{id}:
    get:
      tags:
        - Companies
      summary: Get company by ID
      description: >-
        Returns a single company. Direct client keys can only access their own
        company; ATS keys can only access companies they created.
      operationId: PublicCompanyController_getCompanyById_v1
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: uuid
        - name: companyId
          required: false
          in: query
          description: >-
            Required for ATS API keys to specify which company to access.
            Ignored for standard company API keys.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCompanyDto'
      security:
        - bearer: []
components:
  schemas:
    PublicCompanyDto:
      type: object
      properties:
        id:
          type: string
          description: Company ID
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Company name
          example: Acme Corporation
        description:
          type: string
          description: Company description
          example: Leading technology company
        ownerEmail:
          type: string
          format: email
          maxLength: 254
          description: Email of the company owner
          example: owner@example.com
        metadata:
          type: object
          description: Custom metadata
          example:
            externalCompanyId: COMP-12345
            industry: Technology
        createdAt:
          type: string
          description: Created timestamp
          example: '2024-11-16T10:30:00Z'
        updatedAt:
          type: string
          description: Updated timestamp
          example: '2024-11-16T10:30:00Z'
      required:
        - id
        - name
        - createdAt
        - updatedAt
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: API key for authentication using Bearer scheme

````