openapi: 3.0.0 info: title: Dotfile API — Companies 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 tags: - name: Companies security: - DotfileAPIKey: [] 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