AppDirect UserAccounts API

The UserAccounts API from AppDirect — 1 operation(s) for useraccounts.

Operations 2

POST /appwise/v2/accounts Create user connections #
DELETE /appwise/v2/accounts Disconnect user accounts #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appdirect-useraccounts-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appdirect-useraccounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Companies API allows developers to manage marketplace companies and their user memberships.
  title: Companies AI Embed User Accounts API
  license:
    name: Apache License, Version 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
  version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: UserAccounts
  x-displayName: User Accounts
paths:
  /appwise/v2/accounts:
    post:
      x-appdirect-api-stage: Early Access
      tags:
      - UserAccounts
      summary: Create user connections
      description: 'Creates a new user connection for Search. A connection (accountName) associates the app (application UUID) and user information (userId, companyId, and handle). The connection is used to, for example, identify events related to the user''s app account. accountName Format: {user_handle}@{user_uuid}@{company_uuid}

        Note: Application UUID = Product UUID'
      operationId: provisioning
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserConnection'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionResponse'
              examples:
                response:
                  value:
                    connection:
                      accountName: bob@a1130ec9-3044-4cc6-b9a8-5a71fd2581a5@ce91a616-77f6-48b5-b6f3-d22bdeb362d9
        '400':
          description: Input is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '401':
          description: Request cannot be authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '403':
          description: Request is authenticated but does not have permission to access the resource(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '404':
          description: The application and/or user were not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '409':
          description: Inputs are valid, but this user and handle are already connected to the service
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '502':
          description: Internal services are unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://marketplace.appdirect.com/api/appwise/v2/accounts \\\n  --header 'content-type: application/json' \\\n  --data '{\"app\":{\"id\":\"b2fc6737-3d3f-4da2-afda-f80f25b89af9\"},\"user\":{\"userId\":\"a13a9998-e025-4751-8fee-72afdc0fe6d5\",\"companyId\":\"2cc88871-e942-4910-96e3-0521d7ae52f4\",\"handle\":\"bob\"}}'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'POST',\n  url: 'https://marketplace.appdirect.com/api/appwise/v2/accounts',\n  headers: {'content-type': 'application/json'},\n  body: {\n    app: {id: 'b2fc6737-3d3f-4da2-afda-f80f25b89af9'},\n    user: {\n      userId: 'a13a9998-e025-4751-8fee-72afdc0fe6d5',\n      companyId: '2cc88871-e942-4910-96e3-0521d7ae52f4',\n      handle: 'bob'\n    }\n  },\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"app\\\":{\\\"id\\\":\\\"b2fc6737-3d3f-4da2-afda-f80f25b89af9\\\"},\\\"user\\\":{\\\"userId\\\":\\\"a13a9998-e025-4751-8fee-72afdc0fe6d5\\\",\\\"companyId\\\":\\\"2cc88871-e942-4910-96e3-0521d7ae52f4\\\",\\\"handle\\\":\\\"bob\\\"}}\");\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/appwise/v2/accounts\")\n  .post(body)\n  .addHeader(\"content-type\", \"application/json\")\n  .build();\n\nResponse response = client.newCall(request).execute();"
    delete:
      x-appdirect-api-stage: Early Access
      tags:
      - UserAccounts
      summary: Disconnect user accounts
      description: Disconnects an existing user account from Search. To access this API, you must configure product-scoped OAuth2 authentication for the application.
      operationId: disconnecting
      parameters:
      - name: appId
        in: query
        description: 'Note: Application UUID = Product UUID'
        required: true
        schema:
          type: string
      - name: accountName
        in: query
        description: The user application account connection (accountName) to disconnect
        required: true
        schema:
          type: string
      - name: callbackUrl
        in: query
        description: Callback URL to which to publish status updates about the disconnection
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAccountDisonnectionResponse'
              examples:
                response:
                  value:
                    app:
                      id: b2fc6737-3d3f-4da2-afda-f80f25b89af9
                    connection:
                      accountName: bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4
                      status: PENDING
                    user:
                      companyId: 2cc88871-e942-4910-96e3-0521d7ae52f4
                      userId: a13a9998-e025-4751-8fee-72afdc0fe6d5
        '400':
          description: Input is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '401':
          description: Request cannot be authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '403':
          description: Request is authenticated but does not have permission to access the resource(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
        '502':
          description: Internal services are unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConnectionError'
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request DELETE \\\n  --url 'https://marketplace.appdirect.com/api/appwise/v2/accounts?appId=SOME_STRING_VALUE&accountName=SOME_STRING_VALUE&callbackUrl=SOME_STRING_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'DELETE',\n  url: 'https://marketplace.appdirect.com/api/appwise/v2/accounts',\n  qs: {\n    appId: 'SOME_STRING_VALUE',\n    accountName: 'SOME_STRING_VALUE',\n    callbackUrl: 'SOME_STRING_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/appwise/v2/accounts?appId=SOME_STRING_VALUE&accountName=SOME_STRING_VALUE&callbackUrl=SOME_STRING_VALUE\")\n  .delete(null)\n  .build();\n\nResponse response = client.newCall(request).execute();"
components:
  schemas:
    DisconnectionDetails:
      type: object
      title: DisconnectionDetails
      description: The user account (accountName) to be disconnected from Search, and the account status
      required:
      - status
      properties:
        accountName:
          type: string
          description: The user account name (accountName) to disconnect from Search
        status:
          type: string
          description: Disconnection status
      example:
        accountName: bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4
        status: PENDING_REMOVAL
    UserToConnect:
      type: object
      title: UserToConnect
      description: Identify a user so they can be connected, with an app user account, to Search
      required:
      - companyId
      - handle
      - userId
      properties:
        userId:
          type: string
          description: The user's UUID
        companyId:
          type: string
          description: The user's company's UUID
        handle:
          type: string
          description: The user's handle in the application
      example:
        userId: a13a9998-e025-4751-8fee-72afdc0fe6d5
        companyId: 2cc88871-e942-4910-96e3-0521d7ae52f4
        handle: bob
    UserAccountDisonnectionResponse:
      type: object
      title: UserAccountDisonnectionResponse
      description: Response after request is made to disconnect a user account from Search
      properties:
        app:
          $ref: '#/components/schemas/ApplicationToDisconnect'
        user:
          $ref: '#/components/schemas/UserToDisconnect'
        connection:
          $ref: '#/components/schemas/DisconnectionDetails'
      example:
        app:
          id: b2fc6737-3d3f-4da2-afda-f80f25b89af9
        user:
          userId: a13a9998-e025-4751-8fee-72afdc0fe6d5
          companyId: 2cc88871-e942-4910-96e3-0521d7ae52f4
        connection:
          accountName: bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4
    ApplicationToConnect:
      type: object
      title: ApplicationToConnect
      description: Identify an application that can be connected to users for Search
      required:
      - id
      properties:
        id:
          type: string
          description: 'Application UUID. Note: Application UUID = Product UUID.'
      example:
        id: b2fc6737-3d3f-4da2-afda-f80f25b89af9
    UserConnectionResponse:
      type: object
      title: UserConnectionResponse
      description: 'Sucessful user account connection response. It provides the details about the connection (accountName): the associated app (application UUID) and user information (userId, companyId, and handle). Format: {user_handle}@{user_uuid}@{company_uuid}

        Note: Application UUID = Product UUID'
      example:
        accountName: bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4
    ApplicationToDisconnect:
      type: object
      title: ApplicationToDisconnect
      description: Identifies the application to be disconnected from Search
      properties:
        id:
          type: string
          description: 'Application UUID. Note: Application UUID = Product UUID.'
      example:
        id: b2fc6737-3d3f-4da2-afda-f80f25b89af9
    UserConnection:
      type: object
      title: UserConnection
      description: 'Defines a user account connection for Search. A connection (accountName) associates the app (application UUID) and user information (userId, companyId, and handle). The connection is used to, for example, identify events related to the user''s app account. Format: {user_handle}@{user_uuid}@{company_uuid}

        Note: Application UUID = Product UUID'
      required:
      - app
      - user
      properties:
        app:
          $ref: '#/components/schemas/ApplicationToConnect'
        user:
          $ref: '#/components/schemas/UserToConnect'
      example:
        app:
          id: b2fc6737-3d3f-4da2-afda-f80f25b89af9
        user:
          userId: a13a9998-e025-4751-8fee-72afdc0fe6d5
          companyId: 2cc88871-e942-4910-96e3-0521d7ae52f4
          handle: bob
    UserConnectionError:
      type: object
      title: UserConnectionError
      description: Error responses when user connection changes fail
      required:
      - code
      - message
      - status
      properties:
        status:
          type: integer
          format: int32
          description: HTTP status code
        code:
          type: string
          description: Canonical error code
        message:
          type: string
          description: Error message
        moreInfo:
          type: string
          description: URL with more information about the error
        details:
          type: array
          description: Details of the error
          items:
            type: string
      example:
        status: 404
        code: NOT_FOUND
        message: User not found.
        moreInfo: https://help.appdirect.com/api/appwise.html
        details:
        - Details of error
    UserToDisconnect:
      type: object
      title: UserToDisconnect
      description: The user to be disconnected from Search
      properties:
        userId:
          type: string
          description: The user's UUID
        companyId:
          type: string
          description: The user's company's UUID
      example:
        userId: a13a9998-e025-4751-8fee-72afdc0fe6d5
        companyId: 2cc88871-e942-4910-96e3-0521d7ae52f4