Mercoa invoice > comment API
The invoice > comment API from Mercoa — 3 operation(s) for invoice > comment.
The invoice > comment API from Mercoa — 3 operation(s) for invoice > comment.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/mercoa:mercoa-invoice-comment-api"
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.
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: 3.2.0
info:
title: Reference invoice > comment API
version: 1.0.0
servers:
- url: https://api.mercoa.com
description: Production
tags:
- name: invoice > comment
paths:
/invoice/{invoiceId}/comments:
get:
operationId: invoice_comment_getAll
summary: Get All
description: Get all comments associated with this invoice
tags:
- invoice > comment
parameters:
- name: invoiceId
in: path
description: Invoice ID or Invoice ForeignID
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_InvoiceId'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/invoiceTypes_CommentResponse'
'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: []
/invoice/{invoiceId}/comment:
post:
operationId: invoice_comment_create
summary: Create
description: Add a comment to this invoice
tags:
- invoice > comment
parameters:
- name: invoiceId
in: path
description: Invoice ID or Invoice ForeignID
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_InvoiceId'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/invoiceTypes_CommentResponse'
'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/invoiceTypes_CommentRequest'
security:
- default: []
/invoice/{invoiceId}/comment/{commentId}:
get:
operationId: invoice_comment_get
summary: Get
tags:
- invoice > comment
parameters:
- name: invoiceId
in: path
description: Invoice ID or Invoice ForeignID
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_InvoiceId'
- name: commentId
in: path
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_CommentId'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/invoiceTypes_CommentResponse'
'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: invoice_comment_update
summary: Update
description: Edit a comment on this invoice
tags:
- invoice > comment
parameters:
- name: invoiceId
in: path
description: Invoice ID or Invoice ForeignID
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_InvoiceId'
- name: commentId
in: path
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_CommentId'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/invoiceTypes_CommentResponse'
'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/invoiceTypes_CommentRequest'
security:
- default: []
delete:
operationId: invoice_comment_delete
summary: Delete
description: Delete a comment on this invoice
tags:
- invoice > comment
parameters:
- name: invoiceId
in: path
description: Invoice ID or Invoice ForeignID
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_InvoiceId'
- name: commentId
in: path
required: true
schema:
$ref: '#/components/schemas/invoiceTypes_CommentId'
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: []
components:
schemas:
invoiceTypes_CommentRequest:
type: object
properties:
text:
type: string
userId:
$ref: '#/components/schemas/entityTypes_EntityUserId'
description: The ID or the Foreign ID of the user who created the comment.
required:
- text
title: CommentRequest
invoiceTypes_AssociatedApprovalAction:
type: object
properties:
userId:
$ref: '#/components/schemas/entityTypes_EntityUserId'
action:
$ref: '#/components/schemas/invoiceTypes_ApproverAction'
required:
- userId
- action
title: AssociatedApprovalAction
entityTypes_EntityUserResponse:
type: object
properties:
id:
$ref: '#/components/schemas/entityTypes_EntityUserId'
foreignId:
type: string
description: The ID used to identify this user in your system.
email:
type: string
name:
type: string
roles:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- roles
- createdAt
- updatedAt
title: EntityUserResponse
invoiceTypes_InvoiceId:
type: string
title: InvoiceId
invoiceTypes_CommentId:
type: string
title: CommentId
invoiceTypes_CommentResponse:
type: object
properties:
id:
type: string
text:
type: string
user:
$ref: '#/components/schemas/entityTypes_EntityUserResponse'
associatedApprovalAction:
$ref: '#/components/schemas/invoiceTypes_AssociatedApprovalAction'
description: If an approval action has triggered the generation of this comment, returns the associated approval action and actor
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- text
- createdAt
- updatedAt
title: CommentResponse
invoiceTypes_ApproverAction:
type: string
enum:
- NONE
- APPROVE
- REJECT
title: ApproverAction
entityTypes_EntityUserId:
type: string
title: EntityUserId
securitySchemes:
default:
type: http
scheme: bearer