Lone Wolf Technologies Share Groups API

Share transactions with groups of users and manage group membership.

Operations 4

GET /transact-workflow/v1/users/{userId}/ShareGroup List share groups #
POST /transact-workflow/v1/users/{userId}/ShareGroup Create a share group #
GET /transact-workflow/v1/users/{userId}/ShareGroup/{shareGroupId} Get a share group #
PUT /transact-workflow/v1/users/{userId}/ShareGroup/{shareGroupId} Update a share group (add members and share) #

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/lone-wolf-share-groups-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

lone-wolf-share-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Transact Share Groups API
  version: 1.0.0
  description: "# Transact API\n\n\n> **For AI assistants and coding agents:** a machine-readable OpenAPI 3.0.3 definition of this API is available at the `.json` download link on this page (or directly at `https://bump.sh/<org>/doc/transact/download`). <!-- TODO: replace with the real raw spec URL --> Prefer the raw specification over scraping this rendered page.\n\nThe Transact API provides programmatic access to Lone Wolf's transaction management platform. It covers the full transaction lifecycle: creating and updating transactions, managing offers, contacts, folders and documents, sharing transactions across teams via share groups, attaching forms from form libraries, and sending documents out for e-signature through Authentisign.\n\n## Index\n\n1. [Quickstart](#quickstart)\n2. [Authentication](#authentication)\n3. [Conventions](#conventions)\n4. [Universal Global Fields](#universal-global-fields)\n5. [Services](#services)\n\n## Quickstart\n\nGet from zero to a first successful call in two requests.\n\n**1. Get an access token**\n\n```bash\ncurl -X POST https://gateway.lwolf.com/oauth/token \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"grant_type\": \"client_credentials\",\n    \"client_id\": \"<your client id>\",\n    \"client_secret\": \"<your client secret>\",\n    \"audience\": \"https://api.lwolf.com\",\n    \"lwt_client_id\": \"<your Lone Wolf client GUID>\"\n  }'\n```\n\nCopy the `access_token` from the response.\n\n**2. Make an authenticated call**\n\nEvery request needs **both** the Bearer token and the subscription key:\n\n```bash\ncurl \"https://gateway.lwolf.com/transact-workflow/v1/users/<userId>/transactions\" \\\n  -H \"Authorization: Bearer <access_token>\" \\\n  -H \"lw-subscription-key: <your subscription key>\"\n```\n\nA `200` with a JSON list of transactions means you're fully set up. A `401` usually means the token is missing or expired; a `403` usually means the `lw-subscription-key` header is missing or invalid.\n\n\n## Authentication\n\nAll endpoints (except the token endpoint itself) require **two** credentials on every request:\n\n| Credential | Where | Description |\n|---|---|---|\n| Access token | `Authorization: Bearer <token>` header | JWT obtained via the OAuth 2.0 client credentials flow |\n| Subscription key | `lw-subscription-key` header | API subscription key issued by Lone Wolf |\n\n### Obtaining an access token\n\nSend a `POST` request to `https://gateway.lwolf.com/oauth/token` with a JSON body:\n\n```json\n{\n    \"grant_type\": \"client_credentials\",\n    \"client_id\": \"<your client id>\",\n    \"client_secret\": \"<your client secret>\",\n    \"audience\": \"https://api.lwolf.com\",\n    \"lwt_client_id\": \"<your Lone Wolf client GUID>\"\n}\n```\n\nThe response contains an `access_token` to be sent as a Bearer token on subsequent calls. Tokens are short-lived; request a new token when the current one expires.\n\n## Conventions\n\n- **User scoping** — most resources are addressed under `/users/{userId}/…`. The `userId` is the GUID of the user on whose behalf the operation is performed.\n- **OData queries** — collection endpoints on the Transact Workflow service support OData query options. Use `$filter` to restrict results (e.g. `$filter=opportunityId eq <guid>`) and `$expand` to embed related entities (e.g. `$expand=members, opportunities` on share groups).\n- **Partial updates** — `PATCH` endpoints accept a partial resource representation; only the fields provided are updated.\n- **Content type** — request bodies are JSON unless noted otherwise. Document upload and signing creation use `multipart/form-data`.\n\n## Universal Global Fields\n\nA consolidated reference of the transaction-related fields that can be updated through the API. These fields correspond to the request schemas of the create/update endpoints below.\n\n### 1. Property fields — `POST /Transactions`, `PATCH /users/{userId}/transactions/{transactionId}`\n\n`type`, `address1`–`address4`, `locality`, `region`, `subRegion`, `postalCode`, `country`, `legalDescription`, `propertyIncludes`, `propertyExcludes`, `taxNumber`, `mlsNumber`, `note`, `schoolDistrict`, `zoningClass`, `yearBuilt`, `phase`, `propertyType`, `asking`, `deposit`, `taxes`, `closingDate`, `listingExpiration`, `listingGoesLive`\n\n### 2. Transaction dates & financials — `POST /Offers`, `PATCH /users/{userId}/Offers/{offerId}`\n\n`closingDate`, `finalWalkthroughDate`, `possessionDate`, `offerDate`, `expirationDate`, `acceptanceDate`, `purchasePrice`, `deposit`\n\n### 3. Contact fields — `POST /Contacts`, `PATCH /users/{userId}/Contacts/{contactId}`\n\n`contactType`, `slot`, `prefix`, `suffix`, `firstname`, `middlename`, `lastname`, `email`, `phone`, `cellPhone`, `workPhone`, `fax`, `agentId`, `agentLicense`, `companyName`, `officeId`, `officeLicense`, `escrowNumber`, `address1`–`address4`, `locality`, `region`, `postalCode`, `country`, `llcPoa`\n\nThe `slot` field determines the ordering of contacts of the same type (`1` = Buyer 1 / Seller 1, `2` = Buyer 2 / Seller 2). The full `contactType` enumeration (0–21, from Buyer to PestControlCompany) is documented on the Contact schemas.\n\n## Services\n\nThe API is composed of several services routed through the same gateway host:\n\n| Service | Base path | Purpose |\n|---|---|---|\n| Platform | `/platform/v1` | Client users and offices |\n| Transact Workflow | `/transact-workflow/v1` | Transactions, offers, contacts, folders, documents, share groups, templates |\n| Forms Design | `/forms-design/api` | Form libraries and library forms |\n| Forms Editor | `/forms-editor/api/v1` | Forms attached to a transaction (form packages) |\n| Authentisign | `/authentisign/v3` | E-signature signings, participants, and signed documents |\n"
  contact:
    name: Lone Wolf Technologies
    url: https://www.lwolf.com
servers:
- url: https://gateway.lwolf.com
  description: Production API gateway
- url: '{tw_host}'
  description: Environment-specific host (e.g. pre-production)
  variables:
    tw_host:
      default: https://api.pre.lwolf.com
      description: Base host for the target environment.
security:
- bearerAuth: []
  subscriptionKey: []
tags:
- name: Share Groups
  description: Share transactions with groups of users and manage group membership.
paths:
  /transact-workflow/v1/users/{userId}/ShareGroup:
    get:
      tags:
      - Share Groups
      summary: List share groups
      description: 'Returns the share groups visible to the specified user. Supports OData `$expand` (e.g. `$expand=opportunities`) and `$filter`, including lambda expressions such as `$filter=opportunities/any(o: o/opportunityId eq <guid>)`.'
      operationId: getShareGroups
      responses:
        '200':
          description: Successful response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: userId
        in: path
        required: true
        description: Unique identifier (GUID) of the acting user. All Transact Workflow resources are scoped to a user.
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        required: false
        description: Comma-separated list of related entities to include inline in the response.
        schema:
          type: string
        example: members, opportunities
      - name: $filter
        in: query
        required: false
        description: OData filter expression used to restrict the result set.
        schema:
          type: string
        example: opportunityId eq 5a283c97-44a9-45a9-2f3a-08de10e96589
    post:
      tags:
      - Share Groups
      summary: Create a share group
      description: Creates a new, empty share group. Use the update endpoint to add members and share opportunities.
      operationId: createShareGroup
      responses:
        '201':
          description: Share group created.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: userId
        in: path
        required: true
        description: Unique identifier (GUID) of the acting user. All Transact Workflow resources are scoped to a user.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareGroupCreate'
  /transact-workflow/v1/users/{userId}/ShareGroup/{shareGroupId}:
    get:
      tags:
      - Share Groups
      summary: Get a share group
      description: Returns a single share group by its key. Use `$expand=members` and/or `$expand=opportunities` to embed group members and shared opportunities in the response.
      operationId: getShareGroupByKey
      responses:
        '200':
          description: Successful response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: userId
        in: path
        required: true
        description: Unique identifier (GUID) of the acting user. All Transact Workflow resources are scoped to a user.
        schema:
          type: string
          format: uuid
      - name: shareGroupId
        in: path
        required: true
        description: GUID of the share group.
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        required: false
        description: Comma-separated list of related entities to include inline in the response.
        schema:
          type: string
        example: members, opportunities
    put:
      tags:
      - Share Groups
      summary: Update a share group (add members and share)
      description: Replaces the share group definition, including its member list and the opportunities shared with the group.
      operationId: updateShareGroup
      responses:
        '200':
          description: Successful response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: userId
        in: path
        required: true
        description: Unique identifier (GUID) of the acting user. All Transact Workflow resources are scoped to a user.
        schema:
          type: string
          format: uuid
      - name: shareGroupId
        in: path
        required: true
        description: GUID of the share group.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareGroupUpdate'
components:
  schemas:
    ShareGroupOpportunity:
      type: object
      required:
      - opportunityId
      properties:
        opportunityId:
          type: string
          format: uuid
          description: GUID of the shared opportunity (transaction).
    ShareGroupUpdate:
      type: object
      properties:
        shareGroupId:
          type: string
          format: uuid
          description: GUID of the share group.
        name:
          type: string
          description: Display name of the share group.
        opportunities:
          type: array
          items:
            $ref: '#/components/schemas/ShareGroupOpportunity'
          description: Opportunities (transactions) shared with the group.
        members:
          type: array
          items:
            $ref: '#/components/schemas/ShareGroupMember'
          description: Members of the share group and their permissions.
      description: Full share group representation used to add members and share opportunities.
    ShareGroupMember:
      type: object
      required:
      - userId
      properties:
        userId:
          type: string
          format: uuid
          description: GUID of the member user.
        permissionLevel:
          type: integer
          description: 'Permission level code for the member. Observed value: `1`. **TODO: document the full list of code values and their meanings.**'
          example: 1
        isActive:
          type: boolean
          description: Whether the membership is active.
          example: true
    ShareGroupCreate:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Display name of the share group.
          example: West Team Share Group
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error code or short error name.
        message:
          type: string
          description: Human-readable error description.
      additionalProperties: true
  responses:
    BadRequest:
      description: The request is malformed or contains invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The access token is missing, invalid, or expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The caller is not permitted to perform this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT access token obtained from the `/oauth/token` endpoint, sent as `Authorization: Bearer <token>`.'
    subscriptionKey:
      type: apiKey
      in: header
      name: lw-subscription-key
      description: API subscription key issued by Lone Wolf, sent on every request.