Pleo Companies API

The Companies API enables you to search for company records that are managed in Pleo. You can perform the following: - Search for multiple companies - Search for a specific company record by company ID

Operations 2

GET /v1/companies/{companyId} Search for a Specific Company #

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/pleo-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

pleo-companies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: App Marketplace accounting-entries Companies API
  description: API for Pleo App Marketplace
  termsOfService: https://pleo.io/terms/
  contact:
    email: partner-ecosystem-team@pleo.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 39.4.0
servers:
- url: https://external.pleo.io
  description: Production server
- url: https://external.staging.pleo.io
  description: Staging server
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Companies
  description: "The Companies API enables you to search for company records that are managed in Pleo. You can perform the following: \n - Search for multiple companies\n - Search for a specific company record by company ID"
paths:
  /v1/companies:
    get:
      tags:
      - Companies
      summary: Search for Companies
      description: Use this endpoint to search for companies associated with a specific organisation.
      operationId: Search for Companies
      parameters:
      - name: organization_id
        in: query
        description: Enter the organization ID of the companies you are searching for. Ensure that the access token used for authentication has the correct permissions to search for companies in the given organization.
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: uuid
      - name: before
        in: query
        description: Lower bound of the page of data to return (cannot be used together with [after] or [offset]).
        required: false
        style: form
        explode: true
        schema:
          pattern: ^[A-Z2-7=~]+$
          type: string
      - name: after
        in: query
        description: Upper bound of the page of data to return (cannot be used together with [before] or [offset]).
        required: false
        style: form
        explode: true
        schema:
          pattern: ^[A-Z2-7=~]+$
          type: string
      - name: offset
        in: query
        description: Offset of the page of data to return (cannot be used together with [before] or [after]).
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        description: The maximum amount of items to return.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: sorting_keys
        in: query
        description: The keys to sort the results by.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: sorting_order
        in: query
        description: The order to sort the results by. Must be the same length as [sortingKeys]; one order per key.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
      responses:
        '200':
          description: Company search successful
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResponseExternalCompanyResponseModel'
        '403':
          description: User lacks the necessary permissions
  /v1/companies/{companyId}:
    get:
      tags:
      - Companies
      summary: Search for a Specific Company
      description: Search for a specific company by company ID.
      operationId: Get company by ID
      parameters:
      - name: companyId
        in: path
        description: Enter the company ID.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Company resource found
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/DataResponseExternalCompanyResponseModel'
        '403':
          description: User lacks the necessary permissions.
        '404':
          description: Company with given ID not found
components:
  schemas:
    DataResponseExternalCompanyResponseModel:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ExternalCompanyResponseModel'
    CursorPageCurrentRequestInfo:
      required:
      - parameters
      type: object
      properties:
        after:
          type: string
        before:
          type: string
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int64
        parameters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        sortingKeys:
          type: array
          items:
            type: string
        sortingOrder:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
    CursorPaginatedResponseExternalCompanyResponseModel:
      required:
      - data
      - pagination
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExternalCompanyResponseModel'
        pagination:
          $ref: '#/components/schemas/CursorPageInfo'
    CursorPageInfo:
      required:
      - currentRequestPagination
      - hasNextPage
      - hasPreviousPage
      type: object
      properties:
        currentRequestPagination:
          $ref: '#/components/schemas/CursorPageCurrentRequestInfo'
        endCursor:
          type: string
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
        startCursor:
          type: string
        total:
          type: integer
          format: int64
    PageOrder:
      type: string
      enum:
      - ASC
      - ASC_NULLS_FIRST
      - ASC_NULLS_LAST
      - DESC
      - DESC_NULLS_FIRST
      - DESC_NULLS_LAST
    ExternalAddressResponseModel:
      type: object
      properties:
        addressLine1:
          type: string
          description: Line 1 of the company address.
        addressLine2:
          type: string
          description: Line 2 of the company address.
        country:
          type: string
          description: Country of the company.
        locality:
          type: string
          description: Locality of the company address.
        postalCode:
          type: string
          description: Postal code of the company address.
        region:
          type: string
          description: Region of the company.
      description: Address of the company
    ExternalCompanyResponseModel:
      required:
      - address
      - id
      - name
      type: object
      properties:
        address:
          $ref: '#/components/schemas/ExternalAddressResponseModel'
        id:
          type: string
          description: ID of the Company
          format: uuid
        name:
          type: string
          description: Name of the Company
        organizationId:
          type: string
          description: Organization ID of the Company
          format: uuid
        registrationNumber:
          type: string
          description: Registration number of the company
  securitySchemes:
    bearerAuth:
      type: http
      description: 'JWT Bearer token authentication. Include the token in the Authorization header as: `Bearer <token>`'
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      description: Basic HTTP authentication using API key. Use your API key as the username and leave the password empty. The credentials will be Base64 encoded automatically.
      scheme: basic