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

# Company Addition API

> Submits a company that is not yet in akta.pro's database to be added, returning a request ID to track, or the existing company if it is already present.

## Overview

The Company Addition API lets you add a company that isn't yet in akta.pro's database. Submit a company name and website, and if the company is new, an addition request is created and a `request_id` is returned so you can track it to completion (by polling the status endpoint or configuring a webhook). If the company already exists, no request is created and the existing company's details are returned directly. This is a free endpoint and does not consume credits.

## Endpoint Details

* **Method:** POST
* **Endpoint:** `/v1/company/addition-requests`

## Authentication requirements

* Include a valid API key in the `x-api-key` request header.

## Request

### Request Parameters

#### Header Parameters

<ParamField header="x-api-key" type="string" required>
  Your API key.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Must be `application/json`.
</ParamField>

#### Body Parameters

<ParamField body="company_name" type="string" required>
  Name of the company to add. Example: `solios`
</ParamField>

<ParamField body="website" type="string" required>
  Primary website URL of the company. Used to disambiguate and resolve the company. Example: `https://www.soleosenergy.com/`
</ParamField>

## Response

#### Successful Response Fields

Returns a JSON object with the following structure:

<ResponseField name="already_exists" type="boolean">
  `true` if the company is already in the database, in which case no addition request is created. `false` if a new addition request was created.
</ResponseField>

<ResponseField name="company" type="object">
  The existing company's details when `already_exists` is `true`; otherwise `null`. See **Company Object Fields** below.
</ResponseField>

<ResponseField name="request_id" type="string">
  Unique identifier for the addition request, in UUID format. Use this to check request status or match webhook notifications. `null` when the company already exists.
</ResponseField>

<ResponseField name="status" type="string">
  Current status of the addition request at submission time. Typically `pending`. `null` when the company already exists.
</ResponseField>

<ResponseField name="domain" type="string">
  The resolved domain for the submitted company.
</ResponseField>

<ResponseField name="credits_consumed" type="float">
  Credits consumed by the request. This endpoint is free and always returns `0.00`.
</ResponseField>

#### Company Object Fields

Returned only when `already_exists` is `true`.

<ResponseField name="uuid" type="string">
  Unique identifier for the company. Pass this as the `company` parameter in downstream APIs.
</ResponseField>

<ResponseField name="website" type="string">
  Primary website of the company.
</ResponseField>

<ResponseField name="domain" type="string">
  Resolved domain of the company.
</ResponseField>

<ResponseField name="name" type="string">
  Company name.
</ResponseField>

<ResponseField name="legal_name" type="string">
  Legal or registered name of the company.
</ResponseField>

<ResponseExample>
  ```json New request created expandable wrap theme={null}
  {
      "already_exists": false,
      "company": null,
      "request_id": "2db01b38-5c81-4b3f-b76d-8b36aeed603b",
      "status": "pending",
      "domain": "brigadegroup.com",
      "credits_consumed": 0.00
  }
  ```

  ```json Company already exists expandable wrap theme={null}
  {
      "already_exists": true,
      "company": {
          "uuid": "0002lx7",
          "website": "maximl.com",
          "domain": "maximl.com",
          "name": "Maximl Labs Private Limited",
          "legal_name": "Maximl Labs Private Limited"
      },
      "request_id": null,
      "status": null,
      "domain": "maximl.com",
      "credits_consumed": 0.00
  }
  ```
</ResponseExample>


## OpenAPI

````yaml POST /v1/company/addition-requests
openapi: 3.0.3
info:
  title: Akta.pro API
  description: >
    Akta provides APIs for company intelligence and news monitoring:


    1. **News** – Enriched news articles with AI summaries, sentiment, event
    tags, industry classifications, and company mention resolution.

    2. **Company Enrichment** – Structured company data including firmographics,
    funding, headcount, and financials.

    3. **Company Search** – Free endpoint to resolve company names, domains, or
    UUIDs.

    4. **Product Reviews** – G2 product reviews with ratings and review content.

    5. **Employee Reviews** – Employee sentiment data with workplace ratings.


    **Authentication:** All endpoints require an API key in the `x-api-key` HTTP
    header.
  version: 1.0.0
  contact:
    url: https://akta.pro
servers:
  - url: https://api.akta.pro/api
    description: Production server
security: []
tags:
  - name: News
    description: Enriched news articles with AI summaries, sentiment, and company mentions
  - name: Company
    description: Company data enrichment, search, and addition
  - name: Reviews
    description: Product and employee reviews from external sources
  - name: Supporting APIs
    description: Utility endpoints for request tracking
externalDocs:
  description: Official Akta.pro API Documentation
  url: https://docs.akta.pro
paths:
  /v1/company/addition-requests:
    post:
      tags:
        - Company
      summary: Company Addition
      description: >
        Submits a company that is not yet in akta.pro's database to be added,
        returning a request ID to track, or the existing company if it is
        already present.

        This is a free endpoint — it does not consume API credits.
      operationId: createCompanyAdditionRequest
      requestBody:
        description: Company addition request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyAdditionRequest'
        required: true
      responses:
        '200':
          description: Company addition response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    $ref: '#/components/schemas/CompanyAdditionResponse'
                  credits_consumed:
                    type: number
                    format: float
                    example: 0
        '400':
          description: Bad request — invalid parameters.
        '401':
          description: Unauthorized — missing or invalid API key.
      security:
        - xApiKeyAuth: []
components:
  schemas:
    CompanyAdditionRequest:
      required:
        - company_name
        - website
      type: object
      properties:
        company_name:
          description: 'Name of the company to add. Example: solios'
          type: string
        website:
          description: >-
            Primary website URL of the company. Used to disambiguate and resolve
            the company. Example: https://www.soleosenergy.com/
          type: string
    CompanyAdditionResponse:
      type: object
      properties:
        already_exists:
          description: >-
            true if the company is already in the database, in which case no
            addition request is created. false if a new addition request was
            created.
          type: boolean
        company:
          description: >-
            The existing company's details when already_exists is true;
            otherwise null.
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ExistingCompany'
        request_id:
          description: >-
            Unique identifier for the addition request, in UUID format. Use this
            to check request status or match webhook notifications. null when
            the company already exists.
          type: string
          nullable: true
        status:
          description: >-
            Current status of the addition request at submission time. Typically
            pending. null when the company already exists.
          type: string
          nullable: true
        domain:
          description: The resolved domain for the submitted company.
          type: string
        credits_consumed:
          description: >-
            Credits consumed by the request. This endpoint is free and always
            returns 0.00.
          type: number
    ExistingCompany:
      type: object
      properties:
        uuid:
          description: >-
            Unique identifier for the company. Pass this as the company
            parameter in downstream APIs.
          type: string
        website:
          description: Primary website of the company.
          type: string
        domain:
          description: Resolved domain of the company.
          type: string
        name:
          description: Company name.
          type: string
        legal_name:
          description: Legal or registered name of the company.
          type: string
  securitySchemes:
    xApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key obtained from your Akta account.

````