Mercoa Entity API

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

GitHub OpenAPI

Operations 3

GET /entity/{entityId}/events Events #

Specifications

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-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-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference Entity API
  version: 1.0.0
servers:
- url: https://api.mercoa.com
  description: Production
tags:
- name: Entity
paths:
  /entity/{entityId}/onboarding:
    get:
      operationId: entity_getOnboardingLink
      summary: Generate Onboarding Link
      description: Generate an onboarding link for the entity.
      tags:
      - Entity
      parameters:
      - name: entityId
        in: path
        description: Entity ID or Entity ForeignID
        required: true
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      - name: type
        in: query
        description: The type of onboarding link to generate. If not provided, the default is payee. The onboarding options are determined by your organization's onboarding configuration.
        required: true
        schema:
          $ref: '#/components/schemas/entityTypes_EntityOnboardingLinkType'
      - name: expiresIn
        in: query
        description: Expressed in seconds or a string describing a time span. The default is 24h.
        required: false
        schema:
          type: string
      - name: connectedEntityId
        in: query
        description: The ID of the entity to connect to. If onboarding a payee, this should be the payor entity ID. If onboarding a payor, this should be the payee entity ID. If no connected entity ID is provided, the onboarding link will be for a standalone entity.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      - name: redirectToPortal
        in: query
        description: If true, the onboarding link will redirect to the vendor/customer portal if the entity is already onboarded. If false, the onboarding link will not redirect to the portal. The default is false.
        required: false
        schema:
          type: boolean
      - name: vendorPortalOptions
        in: query
        description: The options for the vendor portal.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_VendorPortalOptions'
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                type: string
        '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: []
    post:
      operationId: entity_sendOnboardingLink
      summary: Send Onboarding Email
      description: Send an email with a onboarding link to the entity. The email will be sent to the email address associated with the entity.
      tags:
      - Entity
      parameters:
      - name: entityId
        in: path
        description: Entity ID or Entity ForeignID
        required: true
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      - name: type
        in: query
        description: The type of onboarding link to generate. If not provided, the default is payee. The onboarding options are determined by your organization's onboarding configuration.
        required: true
        schema:
          $ref: '#/components/schemas/entityTypes_EntityOnboardingLinkType'
      - name: expiresIn
        in: query
        description: Expressed in seconds or a string describing a time span. The default is 7 days.
        required: false
        schema:
          type: string
      - name: connectedEntityId
        in: query
        description: The ID of the entity to connect to. If onboarding a payee, this should be the payor entity ID. If onboarding a payor, this should be the payee entity ID. If no connected entity ID is provided, the onboarding link will be for a standalone entity.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      - name: redirectToPortal
        in: query
        description: If true, the onboarding link will redirect to the vendor/customer portal if the entity is already onboarded. If false, the onboarding link will not redirect to the portal. The default is false.
        required: false
        schema:
          type: boolean
      - name: vendorPortalOptions
        in: query
        description: The options for the vendor portal.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_VendorPortalOptions'
      responses:
        '200':
          description: Successful response
        '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: []
  /entity/{entityId}/events:
    get:
      operationId: entity_events
      summary: Events
      description: Get all events for an entity
      tags:
      - Entity
      parameters:
      - name: entityId
        in: path
        description: Entity ID or Entity ForeignID
        required: true
        schema:
          $ref: '#/components/schemas/entityTypes_EntityId'
      - name: startDate
        in: query
        description: Start date filter. If not provided, events from the start of time will be returned.
        required: false
        schema:
          type: string
          format: date-time
      - name: endDate
        in: query
        description: End date filter. If not provided, events to the end of time will be returned.
        required: false
        schema:
          type: string
          format: date-time
      - name: limit
        in: query
        description: Number of events to return. Limit can range between 1 and 100, and the default is 50.
        required: false
        schema:
          type: integer
      - name: startingAfter
        in: query
        description: The ID of the event to start after. If not provided, the first page of events will be returned.
        required: false
        schema:
          $ref: '#/components/schemas/entityTypes_EntityEventId'
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityTypes_EntityEventsResponse'
        '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_EntityEventsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/entityTypes_EntityEvent'
        count:
          type: integer
        hasMore:
          type: boolean
      required:
      - data
      - count
      - hasMore
      title: EntityEventsResponse
    entityTypes_VendorPortalTab:
      type: string
      enum:
      - HOME
      - PROFILE
      - INVOICES
      - PAYMENT_METHODS
      - VENDOR_CREDITS
      title: VendorPortalTab
    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_EntityEvent:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/entityTypes_EntityEventId'
          description: The ID of the event
        data:
          $ref: '#/components/schemas/entityTypes_EntityResponse'
          description: The payment method data at the time of the event
        webhookIds:
          type: array
          items:
            type: string
          description: The list of webhook IDs associated with this event
        userId:
          $ref: '#/components/schemas/entityTypes_EntityUserId'
          description: The ID of the user who triggered the event
        updatedByEntityId:
          $ref: '#/components/schemas/entityTypes_EntityId'
          description: The ID of the entity that updated the payment method
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the event was created
      required:
      - id
      - data
      - webhookIds
      - createdAt
      title: EntityEvent
    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_BusinessProfileResponse:
      type: object
      properties:
        email:
          type: string
        legalBusinessName:
          type: string
        businessType:
          $ref: '#/components/schemas/entityTypes_BusinessType'
        phone:
          $ref: '#/components/schemas/commons_PhoneNumber'
        doingBusinessAs:
          type: string
        website:
          type: string
        description:
          type: string
        address:
          $ref: '#/components/schemas/commons_Address'
        ownersProvided:
          type: boolean
          description: True if all representatives have been provided for this business.
        taxIDProvided:
          type: boolean
        taxId:
          $ref: '#/components/schemas/entityTypes_TaxID'
        formationDate:
          type: string
          format: date-time
        industryCodes:
          $ref: '#/components/schemas/entityTypes_IndustryCodes'
        averageMonthlyTransactionVolume:
          type: number
          format: double
        averageTransactionSize:
          type: number
          format: double
        maxTransactionSize:
          type: number
          format: double
      required:
      - legalBusinessName
      - taxIDProvided
      title: BusinessProfileResponse
    entityTypes_IndividualProfileResponse:
      type: object
      properties:
        email:
          type: string
        name:
          $ref: '#/components/schemas/commons_FullName'
        phone:
          $ref: '#/components/schemas/commons_PhoneNumber'
        address:
          $ref: '#/components/schemas/commons_Address'
        birthDateProvided:
          type: boolean
        governmentIDProvided:
          type: boolean
      required:
      - name
      - birthDateProvided
      - governmentIDProvided
      title: IndividualProfileResponse
    entityTypes_EntityUserId:
      type: string
      title: EntityUserId
    entityTypes_EntityEventId:
      type: string
      title: EntityEventId
    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
    entityTypes_ProfileResponse:
      type: object
      properties:
        business:
          $ref: '#/components/schemas/entityTypes_BusinessProfileResponse'
          description: Will be set if the entity is a business
        individual:
          $ref: '#/components/schemas/entityTypes_IndividualProfileResponse'
          description: Will be set if the entity is a individual
      title: ProfileResponse
    commons_FullName:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
      required:
      - firstName
      - lastName
      title: FullName
    entityTypes_EntityOnboardingLinkType:
      type: string
      enum:
      - PAYEE
      - PAYOR
      title: EntityOnboardingLinkType
    entityTypes_IndustryCodes:
      type: object
      properties:
        mcc:
          type: string
      title: IndustryCodes
    entityTypes_EntityResponse:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/entityTypes_EntityId'
        name:
          type: string
        email:
          type: string
        foreignId:
          type: string
          description: The ID used to identify this entity in your system
        emailTo:
          type: string
          description: Local-part/username of the email address to which to send invoices to be added to the Invoice Inbox.
        emailToAlias:
          type: array
          items:
            type: string
          description: Email inbox alias addresses. Used when forwarding emails to the emailTo address from an alias.
        isCustomer:
          type: boolean
          description: True if this entity has a direct relationship with your organization.
        accountType:
          $ref: '#/components/schemas/entityTypes_AccountType'
        profile:
          $ref: '#/components/schemas/entityTypes_ProfileResponse'
        logo:
          type: string
          description: URL for the entity logo
        status:
          $ref: '#/components/schemas/entityTypes_EntityStatus'
        oatfiStatus:
          type: string
          description: The OatFi status of this entity
        oatfiUnderwritingResponse:
          type: object
          additionalProperties:
            type: string
          description: The OatFi underwriting response of this entity
        acceptedTos:
          type: boolean
          description: True if this entity has accepted the terms of service.
        isPayor:
          type: boolean
          description: True if this entity can pay invoices.
        isPayee:
          type: boolean
          description: True if this entity can receive payments.
        isNetworkPayor:
          type: boolean
          description: True if this entity is available as a payor to any entity on your platform. Otherwise this entity will only be available as a payor to entities that have a direct relationship with this entity.
        isNetworkPayee:
          type: boolean
          description: True if this entity is available as a payee to any entity on your platform. Otherwise this entity will only be available as a payee to entities that have a direct relationship with this entity.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Simple key/value metadata associated with this entity. For more complex metadata, use the Metadata API.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - id
      - name
      - email
      - isCustomer
      - accountType
      - profile
      - status
      - acceptedTos
      - isPayor
      - isPayee
      - isNetworkPayor
      - isNetworkPayee
      - createdAt
      - updatedAt
      title: EntityResponse
    entityTypes_EntityId:
      type: string
      title: EntityId
    entityTypes_VendorPortalOptions:
      type: object
      properties:
        tabs:
          type: array
          items:
            $ref: '#/components/schemas/entityTypes_VendorPortalTab'
          description: The tabs to display in the vendor portal. If not provided, all tabs will be displayed.
        defaultTab:
          $ref: '#/components/schemas/entityTypes_VendorPortalTab'
          description: The default tab to display in the vendor portal. If not provided, the HOME tab will be displayed.
        welcomeMessage:
          type: string
          description: The welcome message to display in the vendor portal. If not provided, no welcome message will be displayed.
      title: VendorPortalOptions
    entityTypes_AccountType:
      type: string
      enum:
      - business
      - individual
      title: AccountType
  securitySchemes:
    default:
      type: http
      scheme: bearer