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-members-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: 3.2.0
info:
title: WolfConnect Members API
version: 1.0.0
description: The Lone Wolf WolfConnect API is a collection of RESTful web resources allowing third parties access to data.
servers:
- url: https://api.globalwolfweb.com
description: Production
- url: https://api-sb.globalwolfweb.com
description: Test
security:
- LoneWolfToken: []
tags:
- name: Members
description: The Members resource is a RESTful web resource running on Microsoft's Web API allowing third parties to access member data.
paths:
/wolfconnect/members/v1:
get:
tags:
- Members
summary: Retrieve a Collection of Members
operationId: getMembers
description: 'Retrieves a collection of members within the current client code. OData can be used to filter, order and page through the list.
**OData Support:** $expand, $filter, $orderby, $skip, $top'
parameters:
- $ref: '#/components/parameters/ODataExpand'
- $ref: '#/components/parameters/ODataFilter'
- $ref: '#/components/parameters/ODataOrderBy'
- $ref: '#/components/parameters/ODataSkip'
- $ref: '#/components/parameters/ODataTop'
responses:
'200':
description: A collection of Member objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Member'
post:
tags:
- Members
summary: Create a Member
operationId: createMember
description: 'Creates a new member within the client code. The response will contain the newly created member object populated with all of the data to which you have read access. You can use the OData $expand parameter to limit the data that is returned.
Please see the Creating and Updating Data section of the introduction for more information on how to set property values.
**OData Support:** $expand'
parameters:
- $ref: '#/components/parameters/ODataExpand'
requestBody:
required: true
description: A Member object.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
responses:
'201':
description: The newly created Member object.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
/wolfconnect/members/v1/{memberId}:
parameters:
- $ref: '#/components/parameters/MemberId'
get:
tags:
- Members
summary: Retrieve a Member
operationId: getMember
description: 'Retrieves a Member. The data in the response will contain all of the data to which you have read access. Properties with values of NULL typically mean that you do not have read access to that property. Please see the Permissions section of the introduction for more information.
HEAD is also supported for this resource.
**OData Support:** $expand'
parameters:
- $ref: '#/components/parameters/ODataExpand'
responses:
'200':
description: A Member object.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
'404':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 404: The member could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
put:
tags:
- Members
summary: Update a Member
operationId: updateMember
description: 'It is best practice to only send data that you want updated as it will return a much faster response. For instance, if you only need to update the FirstName value, then you should set all other Member properties to null so that only the First Name update is attempted.
Please see the Creating and Updating Data section of the introduction for more information on how to set property values.
The response will contain the updated member object populated with all of the data to which you have read access regardless of the properties sent in the request. For instance, if you sent a Member object with the EmailAddresses property set to null but the Member contained an email address, the Member.EmailAddresses property of the response will contain the email address. You can use the OData $expand parameter to limit the data that is returned.
The value for the Member.Id property in the Member object sent in the request is ignored.
**OData Support:** $expand'
parameters:
- $ref: '#/components/parameters/ODataExpand'
requestBody:
required: true
description: A Member object.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
responses:
'200':
description: A Member object holding all the updated data.
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
/wolfconnect/members/v1/{memberId}/profile-image:
parameters:
- $ref: '#/components/parameters/MemberId'
get:
tags:
- Members
summary: Retrieve the Profile Image of a Member
operationId: getMemberProfileImage
description: 'Retrieves the profile image for the member that was uploaded through the member profile page in WOLFconnect.
This resource supports the If-Modified-Since request header and will return a 304 Not Modified response if the image has not been modified since the time specified.
HEAD is also supported for this resource.
*NOTE: The size and width parameters should not be used at the same time.*'
parameters:
- name: size
in: query
required: false
description: 'The size of the image returned. normal: 150 X 200 (Default), small: 100 X 133, tiny: 70 X 93'
schema:
type: string
enum:
- normal
- small
- tiny
default: normal
- name: width
in: query
required: false
description: Specifies a custom width for the returned image. The height will be adjusted to keep the same aspect ratio. The width can only be a number less than or equal to 150 as that is the max width of any stored image.
schema:
type: integer
maximum: 150
responses:
'200':
description: An image file.
content:
image/*:
schema:
type: string
format: binary
'304':
description: Not Modified. The image has not been modified since the time specified in the If-Modified-Since request header.
'404':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 404: The member or profile image for the member could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
post:
tags:
- Members
summary: Set the Profile Image of a Member
operationId: setMemberProfileImage
description: 'Sets the profile image for a member. The request must be a multi-part request containing the original image and the coordinates to use to crop the image. PUT is also supported for this resource.
The coordinates should be specified in an aspect ratio of 3:4. For instance, if you have an image that is 800 X 800, and you want the center of the image selected for the profile image, you would pass in the following for the coordinates:
- Left: 100
- Top: 0
- Width: 600
- Bottom: 800
This will set the profile image to start 100 pixels from the left and go 600 pixels wide. 600 X 800 is in the 3:4 ratio.
You can specify 0 for all the coordinates and the API will create the biggest possible image from the original image. It would save the same image as above if all parameters were set to 0. It will center the rectangle horizontally if the original image is too wide and it will use the top of the original image if it is too long.'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
left:
type: integer
description: The left image coordinate of the cropping rectangle.
top:
type: integer
description: The top image coordinate of the cropping rectangle.
width:
type: integer
description: The width of the cropping rectangle.
height:
type: integer
description: The height of the cropping rectangle.
profileImage:
type: string
format: binary
description: The original image file to use for the profile image. This is the image that will be cropped using the coordinates above.
required:
- left
- top
- width
- height
- profileImage
responses:
'200':
description: The profile image was set. No response content.
'400':
description: 'Error Code 1002: A parameter was missing.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
'404':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 404: The member could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
delete:
tags:
- Members
summary: Delete the Profile Image of a Member
operationId: deleteMemberProfileImage
description: 'Deletes the profile image for the member.
NOTE: This resource returns OK even if the member does not have a profile image.'
responses:
'200':
description: The profile image was deleted. No response content.
'404':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 404: The member could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
/wolfconnect/members/v1/{memberId}/public-profile-image:
parameters:
- $ref: '#/components/parameters/MemberId'
get:
tags:
- Members
summary: Retrieve the Public Profile Image of a Member
operationId: getMemberPublicProfileImage
description: 'Retrieves the public profile image for the member that was uploaded through the public profile page in WOLFconnect. Members can have different images for their internal profile as opposed to their public profiles. By default, if no public profile image has been uploaded, then the member profile image is returned.
HEAD is also supported for this resource.
*NOTE: The size and width parameters should not be used at the same time.*'
parameters:
- name: publicProfileOnly
in: query
required: false
description: 'Flag to tell the API whether or not to return the internal profile image if the public profile image does not exist. true: Do not return the internal profile image when no public profile image exists. false: Return the internal profile image when no public profile image exists. (Default)'
schema:
type: boolean
default: false
- name: size
in: query
required: false
description: 'The size of the image returned. normal: 150 X 200 (Default)'
schema:
type: string
enum:
- normal
default: normal
- name: width
in: query
required: false
description: Specifies a custom width for the returned image. The height will be adjusted to keep the same aspect ratio. The width can only be a number less than or equal to 150 as that is the max width of any stored image.
schema:
type: integer
maximum: 150
responses:
'200':
description: An image file.
content:
image/*:
schema:
type: string
format: binary
'404':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 404: The member or profile image for the member could not be found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
/wolfconnect/members/v1/{memberId}/in-out-status:
parameters:
- $ref: '#/components/parameters/MemberId'
get:
tags:
- Members
summary: Get the In/Out Status of a Member
operationId: getMemberInOutStatus
description: Gets the in/out status (displayed in the top-left corner of WOLFconnect) and the notes and detailed notes for the member (if enabled, displayed on the In/Out popup window that appears when first logging in).
responses:
'200':
description: A MemberInOutStatus object.
content:
application/json:
schema:
$ref: '#/components/schemas/MemberInOutStatus'
'400':
description: 'Error Code 1001: The memberId parameter is invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
'404':
description: The member could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
put:
tags:
- Members
summary: Set the In/Out Status of a Member
operationId: setMemberInOutStatus
description: Sets the in/out status (displayed in the top-left corner of WOLFconnect) and updates the notes and detailed notes for the member (if enabled, displayed on the In/Out popup window that appears when first logging in).
requestBody:
required: true
description: A MemberInOutStatus object.
content:
application/json:
schema:
$ref: '#/components/schemas/MemberInOutStatus'
responses:
'200':
description: The updated MemberInOutStatus object.
content:
application/json:
schema:
$ref: '#/components/schemas/MemberInOutStatus'
'400':
description: 'Error Code 1001: The memberId parameter is invalid. Error Code 1006: Validation failed.'
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
'404':
description: The member could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/ClientError'
/wolfconnect/members/v1/in-out-status:
get:
tags:
- Members
summary: Get the In/Out Status of All the Members
operationId: getAllMembersInOutStatus
description: Returns the in/out statuses and the notes and detailed notes for all *active* members for a given client code.
responses:
'200':
description: A collection of MemberInOutStatus objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MemberInOutStatus'
components:
schemas:
Integrations:
type: object
properties:
PartnerCode:
type: string
maxLength: 100
readOnly: true
description: The code for the Partner. Usually the Partner's name.
Id:
type: string
maxLength: 100
readOnly: true
description: The Id for the Partner's matching Member.
PhoneNumber:
type: object
required:
- Number
- TypeCode
properties:
Confidential:
type: boolean
description: True if the phone number is confidential.
Extension:
type: string
maxLength: 5
description: The extension for the phone number.
Number:
type: string
maxLength: 20
description: The unformatted phone number.
Primary:
type: boolean
description: True if this is the primary phone number.
Type:
type: string
readOnly: true
description: The name of the type of phone number.
TypeCode:
type: string
maxLength: 1
description: 'The code for the type of phone number. A: Assistant, B: Business, BF: Business Fax, CB: Callback, C: Company, X: Extension, H: Home, HF: Home Fax, ISDN: ISDN, M: Mobile, P: Pager, R: Radio, T: Telex, TF: Toll Free, TTY: TTY/TDD, O: Other, OF: Other Fax'
ClientError:
type: object
description: The ClientError object is used to give detailed information whenever an API request fails. If you perform a request that returns with an error and the response does not contain a ClientError object it is a good indication that you are using the wrong URL. See the Error Codes section of the introduction for the full list of Lone Wolf Error Codes.
properties:
Code:
type: integer
readOnly: true
description: The Lone Wolf Error Code. See the Error Codes section of the introduction.
Message:
type: string
readOnly: true
description: The message that corresponds to the Code value.
Details:
type: string
readOnly: true
description: The exact problem that occurred to give this error response.
Member:
type: object
required:
- FirstName
- LastName
- Addresses
properties:
Id:
type: string
maxLength: 50
readOnly: true
description: The Lone Wolf Id of the member.
CreatedTimestamp:
type: string
format: date-time
readOnly: true
description: The date and time the member was created.
ModifiedTimestamp:
type: string
format: date-time
readOnly: true
description: The date and time the member was modified.
MemberChangedTimestamp:
type: string
format: date-time
readOnly: true
description: The date and time the member or any associated record of the member was modified.
FirstName:
type: string
maxLength: 50
description: The first name of the member.
MiddleName:
type: string
maxLength: 50
description: The middle name of the member.
LastName:
type: string
maxLength: 50
description: The last name of the member.
Number:
type: string
maxLength: 12
description: The number assigned to the member by its office.
Title:
type: string
maxLength: 100
description: The title of the member.
BirthDate:
type: string
format: date
description: The birth date of the member.
InactiveDate:
type:
- string
- 'null'
format: date
description: The date the member went inactive. (Nullable)
OfficeId:
type: string
maxLength: 50
description: The Lone Wolf Id of the office to which the member belongs. Required for creating only - it will be ignored when updating a member.
Office:
readOnly: true
allOf:
- $ref: '#/components/schemas/Office'
description: The office object.
MLSBoards:
type: array
items:
$ref: '#/components/schemas/MLSBoard'
description: A collection of the MLS boards to which the member belongs.
Addresses:
type: array
items:
$ref: '#/components/schemas/Address'
description: 'The collection of addresses for the member. Currently supported address types: M: Mailing, P: Physical'
EmailAddresses:
type: array
items:
$ref: '#/components/schemas/EmailAddress'
description: 'The collection of email addresses for the member. Currently supported email address types: B: Business, S: Secondary'
PhoneNumbers:
type: array
items:
$ref: '#/components/schemas/PhoneNumber'
description: The collection of phone numbers for the member.
Websites:
type: array
items:
$ref: '#/components/schemas/Website'
description: The collection of websites for the member.
PublicProfiles:
type: array
items:
$ref: '#/components/schemas/PublicProfile'
description: The collection of public profiles for the member.
MemberTypeId:
type: string
description: The Type of member (eg. Agent, Staff). Required for creating only - it will be ignored when updating a member.
Suffix:
type: string
description: Suffix of the member.
Nickname:
type: string
description: The Nickname of the member.
LegalName:
type: string
description: Legal Name of the member.
Username:
type: string
description: The username of the member.
LoadingDocsUsername:
type: string
description: The loadingDOCS username of the member.
GenderCode:
type: string
description: The Gender of the member.
AnniversaryDate:
type: string
format: date
description: The Date of their Anniversary.
StartDate:
type: string
format: date
description: The Start Date of the member.
CommencementDate:
type: string
format: date
description: The Commencement Date of the member.
MovingWolfEnabled:
type: boolean
description: The movingWOLF subscription status of the member.
Integrations:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Integrations'
description: The collection of partner integrations for the member.
EmailAddress:
type: object
required:
- Address
- TypeCode
properties:
Address:
type: string
maxLength: 100
description: The email address.
Confidential:
type: boolean
description: True if the email address is confidential.
Primary:
type: boolean
description: True if this is the primary email address.
Type:
type: string
readOnly: true
description: The name of the type of email address.
TypeCode:
type: string
maxLength: 1
description: 'The code for the type of email address. H: Home, B: Business, W: Work, S: Secondary, O: Other'
MLSBoard:
type: object
properties:
MLSId:
type: string
readOnly: true
description: The MLS Id of the member for the MLS Board specified by the MLSAreaId.
MLSAreaId:
type: string
readOnly: true
description: The Lone Wolf Id of the MLS area.
Address:
type: object
required:
- City
- CountryCode
- Line1
- PostalCode
- ProvinceCode
- TypeCode
properties:
City:
type: string
maxLength: 50
description: The city.
Confidential:
type: boolean
description: True if the address is confidential.
Country:
type: string
readOnly: true
description: The name of the country. This field is read only.
CountryCode:
type: string
maxLength: 2
description: The two digit ISO code for the country.
Line1:
type: string
maxLength: 200
description: The first line for the address.
Line2:
type: string
maxLength: 200
description: The second line for the address.
Line3:
type: string
maxLength: 200
description: The third line for the address.
Line4:
type: string
maxLength: 200
description: The fourth line for the address.
PostalCode:
type: string
maxLength: 20
description: The unformatted postal or zip code.
Province:
type: string
readOnly: true
description: The name of the province or state. This field is read only.
ProvinceCode:
type: string
maxLength: 20
description: The province code or postal abbreviation of the province or state.
Type:
type: string
readOnly: true
description: The name of the type of address. This field is read only.
TypeCode:
type: string
maxLength: 1
description: 'The code for the type of address. P: Physical, M: Mailing, H: Home, B: Business, W: Work, O: Other'
PublicProfile:
type: object
properties:
CreatedTimestamp:
type: string
format: date-time
readOnly: true
description: The date and time the member was created.
ModifiedTimestamp:
type: string
format: date-time
readOnly: true
description: The date and time the member was modified.
Name:
type: string
maxLength: 50
readOnly: true
description: The name of the public profile.
FirstName:
type: string
maxLength: 50
readOnly: true
description: The first name of the member.
MiddleName:
type: string
maxLength: 50
readOnly: true
description: The middle name of the member.
LastName:
type: string
maxLength: 50
readOnly: true
description: The last name of the member.
Title:
type: string
maxLength: 100
readOnly: true
description: The title of the member.
Addresses:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Address'
description: 'The collection of addresses for the member. Currently supported address types: M: Mailing, P: Physical'
EmailAddresses:
type: array
readOnly: true
items:
$ref: '#/components/schemas/EmailAddress'
description: 'The collection of email addresses for the member. Currently supported email address types: B: Business, S: Secondary'
PhoneNumbers:
type: array
readOnly: true
items:
$ref: '#/components/schemas/PhoneNumber'
description: The collection of phone numbers for the member.
Websites:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Website'
description: The collection of websites for the member.
MemberInOutStatus:
type: object
properties:
Id:
type: string
maxLength: 50
readOnly: true
description: The Lone Wolf Id of the member.
In:
type: boolean
description: True if the member is marked in. False otherwise. Required when updating the In/Out status of a member.
Notes:
type: string
maxLength: 500
description: Quick notes about why the member is out.
DetailedNotes:
type: string
maxLength: 5000
description: More detailed notes about why the member is out.
Office:
type: object
properties:
Id:
type: string
readOnly: true
description: The Lone Wolf Id of the office.
Name:
type: string
readOnly: true
description: The name.
LWCompanyCode:
type: string
readOnly: true
description: The Lone Wolf Company Code. This is the code used by a brokerWOLF installation. It will be blank for offices that are not synced with brokerWOLF.
Website:
type: object
required:
- TypeCode
- Url
properties:
Type:
type: string
readOnly: true
description: The name of the type of website.
TypeCode:
type: string
maxLength: 1
description: 'The code for the type of website. B: Blog, C: Community, FB: Facebook, G: General, L: Linkedin, S: Sports, T: Tourism, TW: Twitter, YT: YouTube'
Url:
type: string
maxLength: 100
description: The url of the website.
parameters:
ODataFilter:
name: $filter
in: query
required: false
description: Filters data on properties related to the resource. Only Logical, Arithmetic and Grouping operators are currently supported. No Canonical functions are currently supported (contains, endswith, startswith, etc.).
schema:
type: string
ODataOrderBy:
name: $orderby
in: query
required: false
description: Orders the objects returned in the response by a property related to the resource.
schema:
type: string
ODataExpand:
name: $expand
in: query
required: false
description: Instructs the API to include a child object or collection in the response. If omitted, ALL child objects and collections are returned. Pass `$expand=` (empty) to return only the root object. See the OData Support section of the introduction.
schema:
type: string
MemberId:
name: memberId
in: path
required: true
description: The Lone Wolf Id of the member.
schema:
type: string
ODataSkip:
name: $skip
in: query
required: false
description: Skips the specified number of records before returning the results. $orderby must be specified for $skip to be used.
schema:
type: integer
ODataTop:
name: $top
in: query
required: false
description: Returns the specified top number of records for the given query. $orderby must be specified for $top to be used. The maximum number of objects returned from any resource is 1,000. If not passed, $top=1000 is assumed.
schema:
type: integer
maximum: 1000
securitySchemes:
LoneWolfToken:
type: apiKey
in: header
name: Authorization
description: 'Custom HMAC-signed authorization scheme used when calling resources that access your actual data:
```
Authorization: LoneWolfToken [API Token]:[Client Code]:[Signature]:[Date]
```
A `Content-MD5` header is also required on every request (base 64 encoded MD5 hash of the request body, or of an empty string for requests without a body: `1B2M2Y8AsgTpgAmY7PhCfg==`).
The signature is the HMACSHA256 hash (seeded with your secret key) of `[HTTP Method]:[Resource URI]:[Date]:[Content-MD5]`. HMACSHA384 and HMACSHA512 are also supported by appending the algorithm to the scheme (e.g. `LoneWolfToken-HMACSHA512`).
See the Authentication, Creating a Request, and Creating the Signature sections of the introduction for full details, date format, and worked examples. A separate `LoneWolfKey` scheme exists for resources that deal with your API account; there is never a scenario where you would send more than one type of authorization scheme.'