Dotfile Companies API

The Companies API from Dotfile — 4 operation(s) for companies.

Operations 7

GET /v1/companies List all companies #
POST /v1/companies Create a company #
GET /v1/companies/{id} Retrieve a company #
PATCH /v1/companies/{id} Update a company #
DELETE /v1/companies/{id} Delete a company #
GET /v1/companies/{id}/vendor-data Retrieve a company vendor data #
POST /v1/companies/{id}/set-relevant Set company relevance #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dotfile-companies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dotfile-companies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dotfile Companies API
  description: Dotfile public API — Companies operations. Split by tag from the OpenAPI Dotfile publishes at https://docs.dotfile.com/openapi/%EF%B8%8F-api-specifications.json (discovered via https://docs.dotfile.com/.well-known/api-catalog). Content is verbatim; only the tag partition is ours.
  version: v1
  contact:
    name: Dotfile Support
    email: support@dotfile.com
    url: https://docs.dotfile.com/reference/getting-help
servers:
- url: https://api.dotfile.com
  description: Production environment
security:
- DotfileAPIKey: []
tags:
- name: Companies
paths:
  /v1/companies:
    get:
      operationId: company-get-many
      summary: List all companies
      description: "Returns a list of all companies created in your Dotfile workspace.\n\n---\n\n#### See also  \nLearn more about [Filtering, Sorting and Pagination](./filtering-sorting-and-pagination)  \n"
      parameters:
      - name: name
        required: false
        in: query
        description: "Filter items by the `name.{operator}` field.  \nYou can use the `eq`, `not_eq`, `like` and `ilike` operators, the `eq` operator being the default."
        schema:
          type: string
      - name: registration_number
        required: false
        in: query
        description: "Filter items by the `registration_number.{operator}` field.  \nYou can use the `eq`, `not_eq`, `like` and `ilike` operators, the `eq` operator being the default."
        schema:
          type: string
      - name: country
        required: false
        in: query
        description: "Filter items by the `country.{operator}` field.  \nYou can use the `eq` operators, the `eq` operator being the default."
        schema:
          type: string
      - name: created_at
        required: false
        in: query
        description: "Filter items by the `created_at.{operator}` field.  \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt` and `lte` operators, the `eq` operator being the default."
        schema:
          type: string
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$
          example:
          - '2023-01-31'
          - '2023-01-31T13:30:00Z'
          - '2023-01-31T13:30:00.000Z'
          description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
      - name: updated_at
        required: false
        in: query
        description: "Filter items by the `updated_at.{operator}` field.  \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt` and `lte` operators, the `eq` operator being the default."
        schema:
          type: string
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$
          example:
          - '2023-01-31'
          - '2023-01-31T13:30:00Z'
          - '2023-01-31T13:30:00.000Z'
          description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
      - name: last_activity_at
        required: false
        in: query
        description: "Filter items by the `last_activity_at.{operator}` field.  \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt` and `lte` operators, the `eq` operator being the default."
        schema:
          type: string
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$
          example:
          - '2023-01-31'
          - '2023-01-31T13:30:00Z'
          - '2023-01-31T13:30:00.000Z'
          description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
      - name: sort
        required: false
        in: query
        description: "Use this parameter to sort query results.  \nIf not specified, sorted in _ascending_ order with values of field `created_at`.  \nAvailable fields are `created_at`, `last_activity_at` and `name`."
        schema:
          default: created_at
          type: string
        examples:
          created_at:
            summary: Sort by values of the "created_at" field in ascending order
            value: created_at
          last_activity_at:
            summary: Sort by values of the "last_activity_at" field in descending order
            value: last_activity_at.desc
          name:
            summary: Sort by values of the "name" field in ascending order
            value: name
          multiple:
            summary: Sort by values of multiple fields
            value: created_at,last_activity_at.desc
      - name: page
        required: false
        in: query
        description: "Query response is paginated.  \nUse this parameter to choose which page you want to display.  \nPage index starts at 1 (the default)."
        schema:
          default: 1
          type: number
          minimum: 1
      - name: limit
        required: false
        in: query
        description: "Query response is paginated.  \nUse this parameter to choose the number of items per page.  \nLimit defaults to 20, maximum value is 100."
        schema:
          type: number
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: 'List of companies created in the workspace


            **ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanyList'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - One or multiple filtering parameters might be malformed. Make sure to use a supported operator and value for each filter.\n  - If specified, make sure the value of the `page` or `limit` query parameter are valid.\n  - Value of the `sort` parameter is invalid. Make sure the field name is supported, the sorting order is correctly specified, and a same field is not used multiple times for sorting.\n  "
      tags:
      - Companies
    post:
      operationId: company-create-one
      summary: Create a company
      description: 'Create a company in a case.


        '
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyCreate'
      responses:
        '201':
          description: 'Company has been created in the case


            **ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the body payload matches the expected schema\n  - A case can have only one `main` company\n  - A case must have a `main` company before creating an `affiliated` company\n  "
        '404':
          description: No case can be found.
      tags:
      - Companies
  /v1/companies/{id}:
    get:
      operationId: company-get-one
      summary: Retrieve a company
      description: 'Retrieves the company with the given ID.


        '
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the company
        schema:
          format: uuid
          type: string
      - name: exclude_internal_checks
        required: false
        in: query
        description: Exclude checks that are marked as internal
        schema:
          default: false
          type: boolean
      - name: data_lineage
        required: false
        in: query
        description: Include data lineage in the response, default `false`
        schema:
          default: false
          type: boolean
      responses:
        '200':
          description: 'Returns information of a company


            **ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the identifier specified in the URL is a valid UUID\n  "
        '404':
          description: No company can be found.
      tags:
      - Companies
    patch:
      operationId: company-update-one
      summary: Update a company
      description: 'Updates the company with the given ID.


        '
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the company
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyUpdate'
      responses:
        '200':
          description: 'Returns information of the updated company


            **ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the identifier specified in the URL is a valid UUID\n  - Make sure the body payload matches the expected schema\n  "
        '404':
          description: No company can be found.
      tags:
      - Companies
    delete:
      operationId: company-delete-one
      summary: Delete a company
      description: 'Delete the specified company.


        '
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the company
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: ''
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the identifier specified in the URL is a valid UUID\n  "
        '404':
          description: No company can be found.
      tags:
      - Companies
  /v1/companies/{id}/vendor-data:
    get:
      operationId: company-get-one-vendor-data
      summary: Retrieve a company vendor data
      description: "Retrieves a company vendor data with the given the company ID.\n\n---\n\n#### See also  \nLearn more about [Filtering, Sorting and Pagination](./filtering-sorting-and-pagination)  \n"
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the company
        schema:
          format: uuid
          type: string
      - name: name
        required: false
        in: query
        description: "Filter items by the `name.{operator}` field.  \nYou can use the `eq` and `not_eq` operators, the `eq` operator being the default."
        schema:
          type: string
          enum:
          - pappers
          - kompany
          - creditsafe
          - kyckr
          - companies_house
          - inpi
          - info_camere
          - transparenzregister
          - topograph
          - charity_commission
          - mod_finance
      - name: fetched_at
        required: false
        in: query
        description: "Filter items by the `fetched_at.{operator}` field.  \nYou can use the `eq`, `not_eq`, `gt`, `gte`, `lt` and `lte` operators, the `eq` operator being the default."
        schema:
          type: string
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3})?(Z|([0-9]{2}:[0-9]{2}))?)?$
          example:
          - '2023-01-31'
          - '2023-01-31T13:30:00Z'
          - '2023-01-31T13:30:00.000Z'
          description: Date (`yyyy-MM-dd` eg `2023-01-31`) or date time (`yyyy-MM-ddTHH:mm:ss.S+X` eg `2023-01-31T13:30:00.000Z`) in format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
      - name: sort
        required: false
        in: query
        description: "Use this parameter to sort query results.  \nIf not specified, sorted in _ascending_ order with values of field `fetched_at`.  \nAvailable fields are `fetched_at` and `name`."
        schema:
          default: fetched_at
          type: string
        examples:
          fetched_at:
            summary: Sort by values of the "fetched_at" field in ascending order
            value: fetched_at
          name:
            summary: Sort by values of the "name" field in descending order
            value: name.desc
          multiple:
            summary: Sort by values of multiple fields
            value: fetched_at,name.desc
      - name: page
        required: false
        in: query
        description: "Query response is paginated.  \nUse this parameter to choose which page you want to display.  \nPage index starts at 1 (the default)."
        schema:
          default: 1
          type: number
          minimum: 1
      - name: limit
        required: false
        in: query
        description: "Query response is paginated.  \nUse this parameter to choose the number of items per page.  \nLimit defaults to 20, maximum value is 100."
        schema:
          type: number
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: 'List of vendor data of the company


            **ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyVendorDataList'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the identifier specified in the URL is a valid UUID\n  "
        '404':
          description: No company can be found.
      tags:
      - Companies
  /v1/companies/{id}/set-relevant:
    post:
      operationId: company-set-relevant
      summary: Set company relevance
      description: 'Change the relevance of the specified company


        '
      parameters:
      - name: id
        required: true
        in: path
        description: Id of the company
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanySetRelevant'
      responses:
        '200':
          description: '**ℹ️ Click to see full payload**'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '400':
          description: "The request is either malformed or contain invalid parameters.\n\n  - Make sure the identifier specified in the URL is a valid UUID\n  - Make sure the company is an affiliated company\n  "
        '404':
          description: No company can be found.
      tags:
      - Companies
components:
  securitySchemes:
    DotfileAPIKey:
      type: apiKey
      in: header
      name: X-DOTFILE-API-KEY
      description: Configure your api key in the Workspace settings