MechaMental
Api reference

Connections

Get Connection Requirements

GET
/v1/orgs/{org_id}/workspaces/{workspace_id}/namespaces/{namespace_id}/connections/requirements

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
namespace_id*Namespace Id

Query Parameters

app_id*App Id

App ID to scan for tool connection requirements

Header Parameters

authorization?string|null

Response Body

application/json

application/json

curl -X GET "https://loading/v1/orgs/string/workspaces/string/namespaces/string/connections/requirements?app_id=string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Initiate Namespace Oauth

POST
/v1/orgs/{org_id}/workspaces/{workspace_id}/namespaces/{namespace_id}/connections/oauth/initiate

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
namespace_id*Namespace Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://loading/v1/orgs/string/workspaces/string/namespaces/string/connections/oauth/initiate" \  -H "Content-Type: application/json" \  -d '{    "tool_instance_id": "string"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

List Connections

GET
/v1/orgs/{org_id}/workspaces/{workspace_id}/namespaces/{namespace_id}/connections

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
namespace_id*Namespace Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

curl -X GET "https://loading/v1/orgs/string/workspaces/string/namespaces/string/connections"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Create Api Key Connection

POST
/v1/orgs/{org_id}/workspaces/{workspace_id}/namespaces/{namespace_id}/connections

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
namespace_id*Namespace Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://loading/v1/orgs/string/workspaces/string/namespaces/string/connections" \  -H "Content-Type: application/json" \  -d '{    "tool_instance_id": "string",    "api_key": "string"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Revoke Connection

DELETE
/v1/orgs/{org_id}/workspaces/{workspace_id}/namespaces/{namespace_id}/connections/{instance_id}

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
namespace_id*Namespace Id
instance_id*Instance Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

curl -X DELETE "https://loading/v1/orgs/string/workspaces/string/namespaces/string/connections/string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Initiate Workspace Oauth

POST
/v1/orgs/{org_id}/workspaces/{workspace_id}/connections/oauth/initiate

Path Parameters

org_id*Org Id
workspace_id*Workspace Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://loading/v1/orgs/string/workspaces/string/connections/oauth/initiate" \  -H "Content-Type: application/json" \  -d '{    "tool_instance_id": "string"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Create Workspace Api Key Connection

POST
/v1/orgs/{org_id}/workspaces/{workspace_id}/connections/api-key

Path Parameters

org_id*Org Id
workspace_id*Workspace Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://loading/v1/orgs/string/workspaces/string/connections/api-key" \  -H "Content-Type: application/json" \  -d '{    "tool_instance_id": "string",    "api_key": "string"  }'
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Revoke Workspace Connection

DELETE
/v1/orgs/{org_id}/workspaces/{workspace_id}/connections/{tool_instance_id}

Path Parameters

org_id*Org Id
workspace_id*Workspace Id
tool_instance_id*Tool Instance Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

curl -X DELETE "https://loading/v1/orgs/string/workspaces/string/connections/string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Oauth Token Exchange

POST
/v1/connections/oauth/exchange

Query Parameters

code*Code

Authorization code from OAuth provider

state*State

State token for CSRF protection

Response Body

application/json

application/json

curl -X POST "https://loading/v1/connections/oauth/exchange?code=string&state=string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}