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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/earnipay-team-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
openapi: 3.2.0
info:
title: Earnipay Invoicing App Team API
description: FIRS-compliant e-invoicing platform API
version: '1.0'
contact: {}
servers: []
tags:
- name: Team
description: Team member and invitation management
paths:
/v1/team/invite:
post:
description: Send an invitation to join the business team. Only OWNER and ADMIN can invite members.
operationId: TeamController_inviteTeamMember_v1
parameters:
- name: businessId
required: true
in: query
description: Business ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InviteTeamMemberDto'
responses:
'201':
description: Invitation sent successfully
'400':
description: Bad Request - Invalid input or user already invited
'401':
description: Unauthorized
'403':
description: Forbidden - Insufficient permissions
'409':
description: Conflict - User already a member or invitation pending
security:
- JWT-auth: []
summary: Invite team member
tags:
- Team
/v1/team:
get:
description: Retrieve team members with optional filters and pagination. Can include pending invitations.
operationId: TeamController_getTeam_v1
parameters:
- name: businessId
required: true
in: query
description: Business ID
schema:
type: string
- name: page
required: false
in: query
description: Page number
schema:
default: 1
example: 1
type: number
- name: limit
required: false
in: query
description: Items per page
schema:
default: 20
example: 20
type: number
- name: search
required: false
in: query
description: Search by name or email
schema:
example: john
type: string
- name: role
required: false
in: query
description: Filter by role
schema:
enum:
- OWNER
- ADMIN
- MANAGER
- CREATOR
- VIEWER
type: string
- name: includePendingInvitations
required: false
in: query
description: Include pending invitations
schema:
default: false
example: true
type: boolean
responses:
'200':
description: Team members retrieved successfully
'401':
description: Unauthorized
'403':
description: Forbidden - No access to this business
security:
- JWT-auth: []
summary: Get team members
tags:
- Team
/v1/team/invitations/{token}/accept:
post:
description: Accept a team invitation using the token from the invitation email. New users must provide firstName, lastName, and password.
operationId: TeamController_acceptInvitation_v1
parameters:
- name: token
required: true
in: path
description: Invitation token
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptInvitationDto'
responses:
'200':
description: Invitation accepted successfully
'400':
description: Bad Request - Invitation expired or already accepted, or missing required fields for new users
'404':
description: Invitation not found
'409':
description: Conflict - Already a member
security:
- JWT-auth: []
summary: Accept team invitation
tags:
- Team
/v1/team/invitations/{id}:
delete:
description: Cancel a pending team invitation. Only OWNER and ADMIN can revoke invitations.
operationId: TeamController_revokeInvitation_v1
parameters:
- name: id
required: true
in: path
description: Invitation ID
schema:
type: string
- name: businessId
required: true
in: query
description: Business ID
schema:
type: string
responses:
'200':
description: Invitation revoked successfully
'400':
description: Bad Request - Only pending invitations can be revoked
'401':
description: Unauthorized
'403':
description: Forbidden - Insufficient permissions
'404':
description: Invitation not found
security:
- JWT-auth: []
summary: Revoke team invitation
tags:
- Team
/v1/team/members/{id}/role:
patch:
description: Update the role of a team member. Only OWNER and ADMIN can update roles.
operationId: TeamController_updateMemberRole_v1
parameters:
- name: id
required: true
in: path
description: Team member ID (BusinessUser ID)
schema:
type: string
- name: businessId
required: true
in: query
description: Business ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMemberRoleDto'
responses:
'200':
description: Member role updated successfully
'400':
description: Bad Request - Cannot change owner role or assign owner role
'401':
description: Unauthorized
'403':
description: Forbidden - Insufficient permissions
'404':
description: Team member not found
security:
- JWT-auth: []
summary: Update team member role
tags:
- Team
/v1/team/members/{id}:
delete:
description: Remove a member from the team. Only OWNER and ADMIN can remove members.
operationId: TeamController_removeMember_v1
parameters:
- name: id
required: true
in: path
description: Team member ID (BusinessUser ID)
schema:
type: string
- name: businessId
required: true
in: query
description: Business ID
schema:
type: string
responses:
'200':
description: Team member removed successfully
'400':
description: Bad Request - Cannot remove owner or self
'401':
description: Unauthorized
'403':
description: Forbidden - Insufficient permissions
'404':
description: Team member not found
security:
- JWT-auth: []
summary: Remove team member
tags:
- Team
components:
schemas:
InviteTeamMemberDto:
type: object
properties:
email:
type: string
description: Email address of the person to invite
example: john.doe@example.com
role:
type: string
description: Role to assign to the team member
enum:
- OWNER
- ADMIN
- MANAGER
- CREATOR
- VIEWER
example: CREATOR
required:
- email
- role
AcceptInvitationDto:
type: object
properties:
firstName:
type: string
description: First name (required for new users)
example: John
lastName:
type: string
description: Last name (required for new users)
example: Doe
password:
type: string
description: Password (required for new users, min 8 chars)
example: MyP@ssw0rd
UpdateMemberRoleDto:
type: object
properties:
role:
type: string
description: New role for the team member
enum:
- OWNER
- ADMIN
- MANAGER
- CREATOR
- VIEWER
example: MANAGER
required:
- role
securitySchemes:
JWT-auth:
scheme: bearer
bearerFormat: JWT
type: http
name: JWT
description: Enter JWT token
in: header
API-Key:
type: apiKey
in: header
name: X-API-Key
description: API Key for third-party integrations