Mitratech · OpenAPI Overlay 1.0.0
API Evangelist enrichment overlay for the Mitratech TAP API
9 actions
9 updates
documentation
Generated by API Evangelist
Written by API Evangelist tooling for Mitratech's API. It is a proposal applied on top of the contract, not a document Mitratech publishes.
What the actions change
x-agentic-accessdescriptionx-consequencecontactx-api-evangelist-enrichmentsecurityDefinitionssecurityx-domain-standard
Targets 9
$.info
$
$.paths['/v1/workflows/delete'].post
$.paths['/v1/workflows/delete/filter'].post
$.paths['/v1/workflows/delete/name'].post
$.paths['/v1/workflows/archive'].post
$.paths['/v1/users'].delete
$.paths['/v1/workflows/{templateId}/form'].post
$.paths['/healthcheck'].get
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enrichment overlay for the Mitratech TAP API
version: 1.0.0
x-provenance:
generated: '2026-09-13'
method: generated
source: openapi/_original/mitratech-tap-swagger.json
extends: openapi/_original/mitratech-tap-swagger.json
note: >-
Non-destructive Overlay 1.0.0 capturing API Evangelist's enrichment of the harvested TAP
Swagger 2.0 document. It adds the auth model the original omits entirely, declares the missing
401/403 responses, and marks the destructive and irreversible operations. The original document
is never mutated. Note the base document is Swagger 2.0, so `securityDefinitions` is the correct
target key rather than `components.securitySchemes`.
actions:
- target: $.info
update:
description: >-
REST API for Mitratech TAP (ThinkSmart Automation Platform) no-code workflow automation.
Multi-tenant: the host and the first path segment are both the tenant name
(https://{tenant}.tap.thinksmart.com/{tenant}/api, staging {tenant}.stagingtap.thinksmart.com).
All requests require an OAuth 2.0 bearer token from /auth/identity/connect/token.
contact:
name: Mitratech Support
url: https://success.mitratech.com/TAP/TAP_Solutions/APIs_and_Integrations/TAP_API_Documentation
x-api-evangelist-enrichment: https://github.com/api-evangelist/mitratech
- target: $
update:
securityDefinitions:
tap_oauth2:
type: oauth2
flow: password
tokenUrl: https://{tenant}.tap.thinksmart.com/{tenant}/auth/identity/connect/token
scopes:
api: Full API access, bounded by the permissions of the TAP user account the token was issued for.
description: >-
Added by overlay. The original document declares no securityDefinitions at all even though
every operation requires a bearer token. Source:
https://success.mitratech.com/TAP/TAP_Solutions/APIs_and_Integrations/TAP_API_Documentation
security:
- tap_oauth2:
- api
x-domain-standard:
id: odata
level: uri-conventions-only
metadata_document: false
note: >-
$top/$skip/$filter/$select/$orderby/$inlinecount are declared on the user collection and the
definitions block carries ASP.NET Web API OData model types, but no $metadata (CSDL) document
is served — probed 2026-09-13, HTTP 404.
- target: $.paths['/v1/workflows/delete'].post
update:
x-consequence: irreversible
x-agentic-access:
action_class: destroy
consequence: irreversible
escalation: human-approval-required
description: >-
Deletes records by resultSetId. Deleted records are removed permanently. THERE IS NO REVERSAL
OPERATION: unlike /v1/workflows/archive, which is undone by /v1/workflows/restore, delete is
terminal. No dry-run mode, no idempotency key, and the 200 response carries no schema, so the
caller receives no manifest of what was destroyed.
- target: $.paths['/v1/workflows/delete/filter'].post
update:
x-consequence: irreversible
x-agentic-access:
action_class: destroy
consequence: irreversible
scope: unbounded
escalation: human-approval-required
description: >-
Deletes every workflow record matching the supplied filter, permanently. The blast radius is
defined by a saved filter the caller may not be able to enumerate first. Highest-risk operation
in the contract.
- target: $.paths['/v1/workflows/delete/name'].post
update:
x-consequence: irreversible
x-agentic-access:
action_class: destroy
consequence: irreversible
escalation: human-approval-required
- target: $.paths['/v1/workflows/archive'].post
update:
x-consequence: reversible
x-reversal:
operationId: Workflows_RestoreRecord
path: /v1/workflows/restore
window: undocumented
- target: $.paths['/v1/users'].delete
update:
x-consequence: irreversible
x-agentic-access:
action_class: destroy
consequence: unknown
escalation: human-approval-required
description: >-
Deletes one or more TAP users, identified by Login. No restore-user operation exists in the
contract and no reversal window is documented.
- target: $.paths['/v1/workflows/{templateId}/form'].post
update:
x-idempotency: none
x-agentic-access:
action_class: create
consequence: billable-or-material
retry_safety: unsafe
description: >-
Initiates a workflow instance from a template. NOT IDEMPOTENT and no idempotency key exists:
a retry after a timeout starts a second legal intake, contract request or compliance workflow,
with no way to detect or collapse the duplicate.
- target: $.paths['/healthcheck'].get
update:
x-agentic-access:
action_class: read
consequence: none
x-unresolved-gaps:
- >-
operationId collisions: Workflows_ArchiveRecord, Workflows_RestoreRecord, Workflows_GetComments,
Workflows_GetAuditTrail and Workflows_DeleteRecords are each reused across two or three distinct
paths. OpenAPI requires operationId to be unique across the document. Client generators will either
collide or silently rename, so an agent cannot reliably address these operations by id. Fixing this
requires renaming operations in the source document and is out of scope for a non-destructive
overlay.
- >-
31 of 49 operations declare only a 200 response and no response schema, including every mutating
user and workflow operation. The overlay cannot invent the response bodies.
- The document is Swagger 2.0; an upgrade to OpenAPI 3.1 would be a conversion, not an overlay.