Mercoa entity > bulk API

The entity > bulk API from Mercoa — 2 operation(s) for entity > bulk.

GitHub OpenAPI

Operations 2

POST /entities Create Bulk Entities (Sync) #
GET /entities/download Download Bulk Entities (Sync) #

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/mercoa:mercoa-entity-bulk-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

mercoa-entity-bulk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference entity > bulk API
  version: 1.0.0
servers:
- url: https://api.mercoa.com
  description: Production
tags:
- name: entity > bulk
paths:
  /entities:
    post:
      operationId: entity_bulk_create
      summary: Create Bulk Entities (Sync)
      description: Create multiple entities in bulk. This endpoint will process synchronously and return a list of entities that were created or failed to create.
      tags:
      - entity > bulk
      parameters:
      - name: emitWebhooks
        in: query
        description: If true, webhooks will be emitted for each entity that is created. By default, webhooks are not emitted.
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityTypes_BulkEntityCreationResponse'
        '400':
          description: Error response with status 400
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - BadRequest
                  content:
                    type: string
                required:
                - errorName
                - content
        '401':
          description: Error response with status 401
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Unauthorized
                  content:
                    type: string
                required:
                - errorName
                - content
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Forbidden
                  content:
                    type: string
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - NotFound
                  content:
                    type: string
                required:
                - errorName
                - content
        '409':
          description: Error response with status 409
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Conflict
                  content:
                    type: string
                required:
                - errorName
                - content
        '500':
          description: Error response with status 500
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - InternalServerError
                  content:
                    type: string
                required:
                - errorName
                - content
        '501':
          description: Error response with status 501
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Unimplemented
                  content:
                    type: string
                required:
                - errorName
                - content
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/entityTypes_BulkEntityCreationRequest'
      security:
      - default: []
  /entities/download:
    get:
      operationId: entity_bulk_download
      summary: Download Bulk Entities (Sync)
      description: Get a URL to download a bulk entity as a CSV/JSON file.
      tags:
      - entity > bulk
      parameters:
      - name: format
        in: query
        description: Format of the file to download. Defaults to CSV.
        required: false
        schema:
          $ref: '#/components/schemas/commons_BulkDownloadFormat'
      - name: paymentMethods
        in: query
        description: If true, will include entity payment methods as part of the response
        required: false
        schema:
          type: boolean
      - name: isCustomer
        in: query
        description: If true, only entities with a direct relationship to the requesting organization will be returned. If false or not provided, all entities will be returned.
        required: false
        schema:
          type: boolean
      - name: foreignId
        in: query
        description: ID used to identify this entity in your system
        required: false
        schema:
          type: string
      - name: status
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_EntityStatus'
      - name: isPayee
        in: query
        description: 'If true, entities that are marked as payees will be returned.

          If false or not provided, entities that are marked as payees will not be returned.'
        required: false
        schema:
          type: boolean
      - name: isPayor
        in: query
        description: 'If true or not provided, entities that are marked as payors will be returned.

          If false, entities that are marked as payors will not be returned.'
        required: false
        schema:
          type: boolean
      - name: name
        in: query
        description: Use search instead. Deprecated. Filter entities by name. Partial matches are supported.
        required: false
        schema:
          type: string
        deprecated: true
      - name: search
        in: query
        description: Find entities by name, email, emailTo, entity ID, or foreign ID. Partial matches are supported for name, email, and emailTo. Exact matches are used for entity ID and foreign ID.
        required: false
        schema:
          type: string
      - name: metadata
        in: query
        description: Filter entities by simple key/value metadata. Each filter will be applied as an AND condition. Duplicate keys will be ignored.
        required: false
        schema:
          $ref: '#/components/schemas/invoiceTypes_MetadataFilter'
      - name: returnMetadata
        in: query
        description: Return simple key/value metadata for the specified keys for the entities. For more complex metadata, use the Metadata API.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of entities to return. Limit can range between 1 and 100, and the default is 10.
        required: false
        schema:
          type: integer
      - name: startingAfter
        in: query
        description: The ID of the entity to start after. If not provided, the first page of entities will be returned.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/commons_BulkDownloadResponse'
        '400':
          description: Error response with status 400
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - BadRequest
                  content:
                    type: string
                required:
                - errorName
                - content
        '401':
          description: Error response with status 401
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Unauthorized
                  content:
                    type: string
                required:
                - errorName
                - content
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Forbidden
                  content:
                    type: string
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - NotFound
                  content:
                    type: string
                required:
                - errorName
                - content
        '409':
          description: Error response with status 409
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Conflict
                  content:
                    type: string
                required:
                - errorName
                - content
        '500':
          description: Error response with status 500
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - InternalServerError
                  content:
                    type: string
                required:
                - errorName
                - content
        '501':
          description: Error response with status 501
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - Unimplemented
                  content:
                    type: string
                required:
                - errorName
                - content
      security:
      - default: []
components:
  schemas:
    entityTypes_EntityStatus:
      type: string
      enum:
      - unverified
      - pending
      - resubmit
      - review
      - verified
      - failed
      title: EntityStatus
    entityTypes_ProfileRequest:
      type: object
      properties:
        business:
          $ref: '#/components/schemas/entityTypes_BusinessProfileRequest'
          description: If this entity is a business, set this field
        individual:
          $ref: '#/components/schemas/entityTypes_IndividualProfileRequest'
          description: If this entity is a individual, set this field
      title: ProfileRequest
    entityTypes_BulkEntityCreationResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/entityTypes_BulkEntityCreationFromObjectResponse'
      required:
      - data
      title: BulkEntityCreationResponse
    commons_BulkDownloadFormat:
      type: string
      enum:
      - CSV
      - JSON
      title: BulkDownloadFormat
    commons_Address:
      type: object
      properties:
        addressLine1:
          type: string
        addressLine2:
          type: string
        city:
          type: string
        stateOrProvince:
          type: string
          description: State or province code. Must be in the format XX.
        postalCode:
          type: string
          description: Postal code. Must be in the format XXXXX or XXXXX-XXXX.
        country:
          type: string
      required:
      - addressLine1
      - city
      - stateOrProvince
      - postalCode
      title: Address
    entityTypes_BulkEntityCreationFromObject:
      type: object
      properties:
        connectedEntity:
          $ref: '#/components/schemas/entityTypes_BulkConnectedEntity'
        entities:
          type: array
          items:
            $ref: '#/components/schemas/entityTypes_EntityCreationRequest'
      required:
      - entities
      title: BulkEntityCreationFromObject
    commons_BirthDate:
      type: object
      properties:
        day:
          type: string
        month:
          type: string
        year:
          type: string
      title: BirthDate
    entityTypes_BusinessType:
      type: string
      enum:
      - soleProprietorship
      - unincorporatedAssociation
      - trust
      - publicCorporation
      - privateCorporation
      - llc
      - partnership
      - unincorporatedNonProfit
      - incorporatedNonProfit
      title: BusinessType
    entityTypes_TaxID:
      type: object
      properties:
        ein:
          $ref: '#/components/schemas/entityTypes_Ein'
      required:
      - ein
      title: TaxID
    entityTypes_BusinessProfileRequest:
      type: object
      properties:
        email:
          type: string
          description: Email address for the business. Required for KYB.
        legalBusinessName:
          type: string
        businessType:
          $ref: '#/components/schemas/entityTypes_BusinessType'
        phone:
          $ref: '#/components/schemas/commons_PhoneNumber'
          description: Phone number for the business. Required for KYB.
        doingBusinessAs:
          type: string
        website:
          type: string
          description: Website URL for the business. Must be in the format http://www.example.com. Required for KYB if description is not provided.
        description:
          type: string
          description: Description of the business. Required for KYB if website is not provided.
        address:
          $ref: '#/components/schemas/commons_Address'
          description: Address for the business. Required for KYB.
        taxId:
          $ref: '#/components/schemas/entityTypes_TaxID'
          description: Tax ID for the business. Currently only EIN is supported. Required for KYB.
        formationDate:
          type: string
          format: date-time
          description: Date of business formation
        industryCodes:
          $ref: '#/components/schemas/entityTypes_IndustryCodes'
          description: Industry code for the business. Required to collect funds.
        averageMonthlyTransactionVolume:
          type: number
          format: double
          description: Average monthly transaction volume for the business. Required to collect funds.
        averageTransactionSize:
          type: number
          format: double
          description: Average transaction size for the business. Required to collect funds.
        maxTransactionSize:
          type: number
          format: double
          description: Maximum transaction size for the business. Required to collect funds.
      required:
      - legalBusinessName
      title: BusinessProfileRequest
    entityTypes_BulkConnectedEntity:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/entityTypes_EntityId'
          description: The ID of the entity to connect to.
        linkCreatedAsPayor:
          type: boolean
          description: If true, the created entities will be linked to the connected entity as a payor (customer).
        linkCreatedAsPayee:
          type: boolean
          description: If true, the created entities will be linked to the connected entity as a payee (vendor).
      required:
      - id
      - linkCreatedAsPayor
      - linkCreatedAsPayee
      title: BulkConnectedEntity
    commons_StringOrStringArray:
      oneOf:
      - type: string
      - type: array
        items:
          type: string
      title: StringOrStringArray
    commons_IndividualGovernmentID:
      type: object
      properties:
        ssn:
          type: string
          description: Full Social Security Number. Must be in the format 123-45-6789.
      required:
      - ssn
      title: IndividualGovernmentID
    commons_BulkDownloadResponse:
      type: object
      properties:
        url:
          type: string
        mimeType:
          type: string
      required:
      - url
      - mimeType
      title: BulkDownloadResponse
    entityTypes_Ein:
      type: object
      properties:
        number:
          type: string
          description: Must be in the format XX-XXXXXXX.
      required:
      - number
      title: Ein
    commons_PhoneNumber:
      type: object
      properties:
        countryCode:
          type: string
        number:
          type: string
      required:
      - countryCode
      - number
      title: PhoneNumber
    invoiceTypes_MetadataFilter:
      type: object
      properties:
        key:
          type: string
        value:
          $ref: '#/components/schemas/commons_StringOrStringArray'
          description: If multiple values are provided, the filter will match if any of the values match (OR filter). To filter for the absence of a key, use the value 'NULL'. To filter for the presence of a key, use the value 'NOT NULL'.
      required:
      - key
      - value
      title: MetadataFilter
    entityTypes_IndividualProfileRequest:
      type: object
      properties:
        email:
          type: string
        name:
          $ref: '#/components/schemas/commons_FullName'
        phone:
          $ref: '#/components/schemas/commons_PhoneNumber'
        address:
          $ref: '#/components/schemas/commons_Address'
        birthDate:
          $ref: '#/components/schemas/commons_BirthDate'
        governmentID:
          $ref: '#/components/schemas/commons_IndividualGovernmentID'
      required:
      - name
      title: IndividualProfileRequest
    commons_FullName:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
      required:
      - firstName
      - lastName
      title: FullName
    entityTypes_EntityCreationRequest:
      type: object
      properties:
        foreignId:
          type: string
          description: The ID used to identify this entity in your system. This ID must be unique across all entities in your system.
        emailTo:
          type: string
          description: Sets the email address to which to send invoices to be added to the Invoice Inbox. Only provide the local-part/username of the email address, do not include the @domain.com
        emailToAlias:
          type: array
          items:
            type: string
          description: Email inbox alias addresses. Used when forwarding emails to the emailTo address from an alias. Include the full email address.
        isCustomer:
          type: boolean
          description: If this entity has a direct relationship with your organization (e.g your direct customer or client), set this to true. Otherwise, set to false (e.g your customer's vendors).
        accountType:
          $ref: '#/components/schemas/entityTypes_AccountType'
        profile:
          $ref: '#/components/schemas/entityTypes_ProfileRequest'
        isPayor:
          type: boolean
          description: If this entity will be paying invoices, set this to true.
        isPayee:
          type: boolean
          description: If this entity will be receiving payments, set this to true.
        isNetworkPayor:
          type: boolean
          description: Control if this entity should be available as a payor to any entity on your platform. If set to false, this entity will only be available as a payor to entities that have a direct relationship with this entity. Defaults to false.
        isNetworkPayee:
          type: boolean
          description: Control if this entity should be available as a payee to any entity on your platform. If set to false, this entity will only be available as a payee to entities that have a direct relationship with this entity. Defaults to false.
        logo:
          type: string
          description: Base64 data URL of the entity logo. Must be in the `data:image/*;base64,XXXX` format. We recommend a PNG image under 100KB. Supported file types are `png`, `jpeg`, `gif`, `svg`.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Simple key/value metadata associated with this entity. For more complex metadata, use the Metadata API.
      required:
      - isCustomer
      - accountType
      - profile
      - isPayor
      - isPayee
      title: EntityCreationRequest
    entityTypes_IndustryCodes:
      type: object
      properties:
        mcc:
          type: string
      title: IndustryCodes
    entityTypes_BulkEntityCreationRequest:
      oneOf:
      - $ref: '#/components/schemas/entityTypes_BulkEntityCreationFromObject'
      title: BulkEntityCreationRequest
    entityTypes_EntityId:
      type: string
      title: EntityId
    entityTypes_BulkEntityCreationFromObjectResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the entity that was created. If the entity was not created, this will be undefined
        foreignId:
          type: string
          description: If provided, this is the foreign ID of the entity that was created.
        error:
          type: string
          description: The error message if the entity was not created
      title: BulkEntityCreationFromObjectResponse
    entityTypes_AccountType:
      type: string
      enum:
      - business
      - individual
      title: AccountType
  securitySchemes:
    default:
      type: http
      scheme: bearer