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/commusoft-locations-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: Commusoft Locations API
description: The Commusoft API is a RESTful JSON-based API designed to allow third parties to integrate products and applications with Commusoft's field service management platform.
version: 1.0.0
contact:
url: https://www.commusoft.com/
x-api-id: commusoft-api
x-audience: external-partner
servers:
- url: https://api.commusoft.com/api/v1
description: Commusoft production API server
security:
- ApiTokenHeader: []
- ApiTokenQuery: []
tags:
- name: Locations
description: Manage location/site records
paths:
/locations:
get:
operationId: listLocations
summary: List Locations
description: Retrieve location/site records.
tags:
- Locations
responses:
'200':
description: List of locations
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Location'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createLocation
summary: Create Location
description: Add a new location record.
tags:
- Locations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LocationInput'
responses:
'201':
description: Location created
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
'401':
$ref: '#/components/responses/Unauthorized'
/locations/{uuid}:
get:
operationId: getLocation
summary: Get Location
description: Retrieve a specific location record by UUID.
tags:
- Locations
parameters:
- $ref: '#/components/parameters/UuidPath'
responses:
'200':
description: Location record
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateLocation
summary: Update Location
description: Edit an existing location record.
tags:
- Locations
parameters:
- $ref: '#/components/parameters/UuidPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LocationInput'
responses:
'200':
description: Location updated
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Location:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
name:
type: string
description: Name of the location
address:
$ref: '#/components/schemas/Address'
description:
type: string
description: Additional notes about the location
createdAt:
type: string
format: date-time
readOnly: true
updatedAt:
type: string
format: date-time
readOnly: true
Address:
type: object
properties:
addressLine1:
type: string
description: First line of the address
addressLine2:
type: string
description: Second line of the address
town:
type: string
description: Town or city
county:
type: string
description: County or region
postcode:
type: string
description: Postcode or zip code
country:
type: string
description: Country
LocationInput:
type: object
required:
- name
properties:
uuid:
type: string
format: uuid
name:
type: string
address:
$ref: '#/components/schemas/Address'
description:
type: string
Error:
type: object
properties:
message:
type: string
description: Human-readable error message
code:
type: integer
description: Error code
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication token missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
UuidPath:
name: uuid
in: path
required: true
description: Unique identifier (UUID) of the record
schema:
type: string
format: uuid
securitySchemes:
ApiTokenHeader:
type: apiKey
in: header
name: X-Auth-Token
description: API token obtained from the /getToken endpoint
ApiTokenQuery:
type: apiKey
in: query
name: token
description: API token passed as a query parameter