Diligent Company API

Company Information

OpenAPI Specification

diligent-company-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  version: 1.6.0
  title: Diligent CDD Company API
  description: 'Download Postman collection [here](https://docs.godiligent.ai/files/postman_collection.json).

    '
servers:
- url: https://api.godiligent.ai
  description: Production
- url: https://api.sandbox.godiligent.ai
  description: Sandbox
security:
- xApiKey: []
tags:
- name: Company
  description: Company Information
paths:
  /blocked-companies:
    post:
      tags:
      - Company
      summary: Block company
      description: Block company by various data points
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CompanyBlockWebsite'
              - $ref: '#/components/schemas/CompanyBlockLegalNameAddress'
              - $ref: '#/components/schemas/CompanyBlockRegisterNumberAndCountryCode'
        required: true
      responses:
        '200':
          description: Successfully blocked company, returns the created record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockedCompany'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ValidationError'
        '404':
          description: Not Found
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
    get:
      tags:
      - Company
      summary: List blocked companies
      description: Returns a list of all blocked companies. Optionally filter by customer_id.
      parameters:
      - name: register_number
        in: query
        required: false
        schema:
          type: string
        description: Filter by register_number
      responses:
        '200':
          description: List of blocked companies
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlockedCompany'
        '500':
          description: Internal Server Error
  /blocked-companies/{id}:
    delete:
      tags:
      - Company
      summary: Unblock a company
      description: Remove a company from the blocked list by its unique ID
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier of the blocked company record
        example: bc-a91a8416-0a38
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found - Company block record doesn't exist
        '500':
          description: Internal Server Error
  /companies/identify:
    get:
      tags:
      - Company
      summary: identify
      description: identify company by various data points
      parameters:
      - name: legal_name
        in: query
        description: The legal_name of the company
        required: false
        schema:
          type: string
          example: CrossLend GmbH
      - name: address
        in: query
        description: The address of the business, partial or full address
        required: false
        schema:
          type: string
          example: CrossLend GmbH
      - name: vat_number
        in: query
        description: The VAT number of the business
        required: false
        schema:
          type: string
          example: DE123456789
      - name: registry_profile
        in: query
        description: The level of details to be returned
        required: false
        schema:
          type: string
          enum:
          - FULL
          - BASIC
          example: FULL
      - name: country_code
        in: query
        description: The country code of the business, in alpha-2 format (ISO 3166-1 alpha-2)
        required: false
        schema:
          type: string
          example: DE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Registry'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ValidationError'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '500':
          description: Internal Server Error
      security:
      - xApiKey: []
components:
  schemas:
    Registry:
      type: object
      required:
      - name
      - legal_form
      - register
      - address
      - ownership
      - source
      properties:
        status:
          type: string
          example: ACTIVE
          enum:
          - ACTIVE
          - REGISTERED
          - INACTIVE
          - SUSPENDED
          - IN_REGISTRATION
          - TERMINATED
        name:
          type: string
          example: XYZZ GmbH
        commercial_name:
          type: string
        is_blocked:
          type: boolean
          default: false
        legal_form:
          type: string
          example: GmbH
        description:
          type: string
          example: SOFTWARE CONSULTANCY
        register:
          type: object
          required:
          - id
          - country
          properties:
            id:
              type: string
              example: HRB 259538 B
            country:
              type: string
              example: DE
            city:
              type: string
              example: Charlottenburg (Berlin)
            foundation_date:
              type: string
              example: '2023-12-04'
        address:
          $ref: '#/components/schemas/Address'
        vat_number:
          type: string
        representation_rules:
          type: string
          example: This is a placeholder for representation rules.
        signatory_powers:
          type: array
          items:
            $ref: '#/components/schemas/SignatoryPower'
        ownership:
          type: object
          properties:
            shareholders:
              type: array
              items:
                $ref: '#/components/schemas/Shareholder'
            total_percentage:
              type: integer
              example: 100
            total_shareholders_count:
              type: integer
              example: 1
            total_major_shareholders_count:
              type: integer
              example: 1
            total_ubos_count:
              type: integer
              example: 1
        industry_classifications:
          type: object
          properties:
            ateco:
              type: array
              items:
                type: string
                example: '47199'
            nace:
              type: array
              items:
                type: string
                example: '4719'
            sic:
              type: array
              items:
                type: string
                example: '5999'
        pec:
          type: string
          example: QUADERNOAQUADRETTISRL@ARUBAPEC.IT
        rea_code:
          type: string
          example: '128207'
        financials:
          type: object
          properties:
            date:
              type: string
              example: '2022-12-31'
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    example: share_capital
                    enum:
                    - turnover
                    - share_capital
                    - net_worth
                  note:
                    type: string
                    description: The note of the financial item
                  unit:
                    type: string
                    example: EUR
                  value:
                    type: number
                    format: int64
                    example: 100000
        extras:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                example: website
              value:
                type: string
                example: www.example.eu
        source:
          $ref: '#/components/schemas/Source'
    CompanyBlockWebsite:
      type: object
      required:
      - website
      - reason
      properties:
        website:
          type: string
          description: The website of the business
          example: example.com
        email:
          type: string
          description: The email of the business
          example: fulan@domain.com
        legal_name:
          type: string
          description: The legal name of the business
          example: PayLane ltd
        address:
          type: string
          description: The address of the business, or partial address
          example: 123 Imaginary St, 45678 Fictional City
        external_id:
          type: string
          description: Reference to be used in the customer's system
          example: abc123 - my customer reference
        vat_number:
          type: string
          description: The VAT number of the business
          example: BE09999999XX
        register_number:
          type: string
          description: The register number of the business
          example: '123546'
        reason:
          type: string
          description: The reason for blocking the company
          example: Fraudulent activity
        notes:
          type: string
          description: Additional notes for blocking the company
          example: Company engaged in fraudulent activity
    CompanyBlockRegisterNumberAndCountryCode:
      type: object
      required:
      - register_number
      - country_code
      properties:
        website:
          type: string
          description: The website of the business
          example: example.com
        email:
          type: string
          description: The email of the business
          example: fulan@domain.com
        legal_name:
          type: string
          description: The legal name of the business
          example: PayLane ltd
        address:
          type: string
          description: The address of the business, or partial address
          example: 123 Imaginary St, 45678 Fictional City
        external_id:
          type: string
          description: Reference to be used in the customer's system
          example: abc123 - my customer reference
        vat_number:
          type: string
          description: The VAT number of the business
          example: BE09999999XX
        register_number:
          type: string
          description: The registry number of the business (i.e. company house number, SIRET, SIREN, P.IVA, only GB, FR and IT companies are supported)
          example: '12345678'
        reason:
          type: string
          description: The reason for blocking the company
          example: Fraudulent activity
        notes:
          type: string
          description: Additional notes for blocking the company
          example: Company engaged in fraudulent activity
    ValidationError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorItem'
      required:
      - errors
    SignatoryPower:
      type: object
      properties:
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        date_of_birth:
          type: string
          example: '1990-01-01'
        entity_name:
          type: string
          example: Example GmbH
        location:
          type: string
          example: City, Country
        role:
          type: string
          example: ROLE
        effective_date:
          type: string
          example: '2024-01-01'
        representation:
          type: string
          example: Representation details
        role_local:
          type: string
          example: Role
        signatory_power:
          type: string
          example: POWER_TYPE
    CompanyBlockLegalNameAddress:
      type: object
      required:
      - legal_name
      - address
      - reason
      properties:
        website:
          type: string
          description: The website of the business
          example: example.com
        email:
          type: string
          description: The email of the business
          example: fulan@domain.com
        legal_name:
          type: string
          description: The legal name of the business
          example: PayLane ltd
        address:
          type: string
          description: The address of the business, or partial address
          example: 123 Imaginary St, 45678 Fictional City
        external_id:
          type: string
          description: Reference to be used in the customer's system
          example: abc123 - my customer reference
        vat_number:
          type: string
          description: The VAT number of the business
          example: BE09999999XX
        register_number:
          type: string
          description: The registry number of the business (i.e. company house number, SIRET, SIREN, P.IVA, only GB, FR and IT companies are supported)
          example: '12345678'
        reason:
          type: string
          description: The reason for blocking the company
          example: Fraudulent activity
        notes:
          type: string
          description: Additional notes for blocking the company
          example: Company engaged in fraudulent activity
    ValidationErrorItem:
      type: object
      properties:
        path:
          type: array
          items:
            type: string
          description: JSON path to the field with the error
        message:
          type: string
          description: Error message
        code:
          type: string
          description: Error code indicating the type of error
      required:
      - path
      - message
      - code
    Address:
      type: object
      properties:
        formatted_address:
          type: string
          example: 123 Imaginary St, 45678 Fictional City
        components:
          type: object
          properties:
            street:
              type: string
              example: Imaginary St
            street_number:
              type: string
              example: '123'
            state:
              type: string
              example: IS
            locality_code:
              type: string
              example: IS
            city:
              type: string
              example: Fictional City
            postal_code:
              type: string
              example: '45678'
            country_code:
              type: string
              example: FC
            country:
              type: string
              example: Fictionland
        type:
          type: string
          enum:
          - residential
          - business
          - unknown
          example: residential
        is_valid:
          type: boolean
          example: true
        is_verified:
          type: boolean
          example: true
        is_suspicious:
          type: boolean
          example: false
        is_blacklisted:
          type: boolean
          example: false
        is_primary:
          type: boolean
          example: true
        street_view:
          type: string
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Source'
    BlockedCompany:
      type: object
      required:
      - id
      - reason
      - blocked_at
      properties:
        id:
          type: string
          description: Unique identifier for the blocked company record
          example: bc-a91a8416-0a38
        website:
          type: string
          description: The website of the business (if provided)
          nullable: true
          example: example.com
        email:
          type: string
          description: The email of the business (if provided)
          nullable: true
          example: contact@example.com
        legal_name:
          type: string
          description: The legal name of the business (if provided)
          nullable: true
          example: Example Company Ltd
        address:
          type: string
          description: The address of the business (if provided)
          nullable: true
          example: 123 Example Street, City
        country_code:
          type: string
          description: Country code in ISO 3166-1 alpha-2 format (if provided)
          nullable: true
          example: DE
        vat_number:
          type: string
          description: The VAT number of the business (if provided)
          nullable: true
          example: BE09999999XX
        register_number:
          type: string
          description: The registry number of the business (if provided)
          nullable: true
          example: '123456789'
        reason:
          type: string
          description: The reason for blocking the company
          example: Fraudulent activity
        notes:
          type: string
          description: Additional notes about the block
          nullable: true
          example: Multiple reports of fraud from customers
        blocked_at:
          type: string
          format: date-time
          description: When the company was blocked
          example: '2025-01-15T12:30:45Z'
        external_id:
          type: string
          description: Reference ID from the customer's system (if provided)
          nullable: true
          example: cust-12345
    Source:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          example: Source Name
        link:
          type: string
          example: https://www.example.com
    Shareholder:
      type: object
      properties:
        name:
          type: string
          example: John Doe
        percentage:
          type: integer
          example: 100
        type:
          type: string
          example: INDIVIDUAL
        location:
          type: string
          example: City, Country
        is_major_shareholder:
          type: boolean
          example: true
        is_ubo:
          type: boolean
          example: true
        gender:
          type: string
          example: MALE
        tax_code:
          type: string
          example: '123456789'
        address:
          type: string
          example: 123 Main St, City, Country
  securitySchemes:
    xApiKey:
      type: apiKey
      name: X-API-KEY
      in: header