National Association of REALTORS Office API
The Office API from National Association of REALTORS — 5 operation(s) for office.
The Office API from National Association of REALTORS — 5 operation(s) for office.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/nar-office-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: M1Gateway - External Office API
version: v1
security:
- basic: []
tags:
- name: Office
paths:
/ext/Office/Search:
post:
tags:
- Office
responses:
'200':
description: Success
content:
text/plain:
schema:
type: array
items: {}
application/json:
schema:
type: array
items: {}
text/json:
schema:
type: array
items: {}
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/BizOfficeSearch'
application/json:
schema:
$ref: '#/components/schemas/BizOfficeSearch'
text/json:
schema:
$ref: '#/components/schemas/BizOfficeSearch'
application/*+json:
schema:
$ref: '#/components/schemas/BizOfficeSearch'
/ext/Office/{officeId}:
get:
tags:
- Office
parameters:
- in: path
name: officeId
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Success
/ext/Office/Full/{officeId}:
get:
tags:
- Office
parameters:
- in: path
name: officeId
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Success
/ext/Office:
patch:
tags:
- Office
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Office'
application/json:
schema:
$ref: '#/components/schemas/Office'
text/json:
schema:
$ref: '#/components/schemas/Office'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/OfficePatch'
application/json:
schema:
$ref: '#/components/schemas/OfficePatch'
text/json:
schema:
$ref: '#/components/schemas/OfficePatch'
application/*+json:
schema:
$ref: '#/components/schemas/OfficePatch'
post:
tags:
- Office
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Office'
application/json:
schema:
$ref: '#/components/schemas/Office'
text/json:
schema:
$ref: '#/components/schemas/Office'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/Office'
application/json:
schema:
$ref: '#/components/schemas/Office'
text/json:
schema:
$ref: '#/components/schemas/Office'
application/*+json:
schema:
$ref: '#/components/schemas/Office'
/ext/Office/Transfer/{officeId}:
post:
tags:
- Office
parameters:
- in: path
name: officeId
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Office'
application/json:
schema:
$ref: '#/components/schemas/Office'
text/json:
schema:
$ref: '#/components/schemas/Office'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/TransferOffice'
application/json:
schema:
$ref: '#/components/schemas/TransferOffice'
text/json:
schema:
$ref: '#/components/schemas/TransferOffice'
application/*+json:
schema:
$ref: '#/components/schemas/TransferOffice'
components:
schemas:
Ref_State:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
state_Code:
type: string
state_Description:
type: string
OfficePatch:
type: object
properties:
officeId:
format: int32
type: integer
updates:
$ref: '#/components/schemas/OfficeJsonPatchDocument'
Member:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
member_Id:
format: int32
type: integer
person_Id:
format: int32
type: integer
member_Type_Code:
type: string
member_Status_Code:
type: string
member_Status_Date:
format: date-time
type: string
joined_Date:
format: date-time
type: string
primary_Local_Association_Id:
format: int32
type: integer
primary_State_Association_Id:
format: int32
type: integer
primary_Office_Id:
format: int32
type: integer
primary_Re_License_Number:
type: string
primary_Re_License_State:
type: string
member_Primary_Ind:
type: string
member_SubClass:
type: string
arbitration_Ethics_Pending:
type: string
designated_Realtor_Flag:
type: string
local_Join_Date:
format: date-time
type: string
special_Discount_Flag:
type: string
dues_Waived_Local_Flag:
type: string
dues_Waived_National_Flag:
type: string
dues_Waived_State_Flag:
type: string
generation:
type: string
nickName:
type: string
birth_Date:
format: date-time
type: string
direct_Marketing_Flag:
type: string
local_Suspension_Flag:
type: string
occupation_Name:
type: string
office_VoiceMail_Extension_Number:
type: string
single_Owned_Mls_Status_Code:
type: string
single_Owned_Mls_Status_Date:
format: date-time
type: string
orientation_Date:
format: date-time
type: string
previous_Non_Member_Flag:
type: string
reinstatement_Code:
type: string
reinstatement_Date:
format: date-time
type: string
stop_Publication_Flag:
type: string
preferred_Mail_Type_Code:
type: string
preferred_Publication_Type_Code:
type: string
preferred_Phone_Type_Code:
type: string
preferred_Fax_Type_Code:
type: string
stop_Fax_Flag:
type: string
stop_Email_Flag:
type: string
webPage_Address:
type: string
mls:
type: string
stop_Mail_Flag:
type: string
timestamp_Seq:
format: int64
type: integer
is_Poe_Flag:
type: string
first_Name:
type: string
last_Name:
type: string
middle_Name:
type: string
title:
type: string
gender:
maxLength: 1
minLength: 0
type: string
preferred_Pronoun:
type: string
is_Poe_Proxy_Flag:
type: string
historyCount:
format: int32
type: integer
RefOfficeStatusType:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
officeStatusCode:
type: string
officeStatusDescription:
type: string
AssocMemberCount:
type: object
OperationType:
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
OfficeSecondary:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
id:
format: int32
type: integer
officeId:
format: int32
type: integer
associationId:
format: int32
type: integer
officeStatusCode:
type: string
officeStatusDate:
format: date-time
type: string
nmSalespersonCount:
format: int32
type: integer
timeStampSeq:
format: int64
type: integer
association:
$ref: '#/components/schemas/Association'
refOfficeStatusType:
$ref: '#/components/schemas/RefOfficeStatusType'
refAssociationType:
$ref: '#/components/schemas/Ref_Association_Type'
historyCount:
format: int32
type: integer
Association:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
association_Id:
format: int32
type: integer
association_Name:
type: string
association_Type_Code:
type: string
association_Status_Code:
type: string
association_Status_Date:
format: date-time
type: string
ae_Id:
format: int64
type: integer
associationExecutive:
type: string
association_Fax_Number:
type: string
association_Phone_Number:
type: string
association_Email_Address:
type: string
last_Certification_Date:
format: date-time
type: string
mailing_Address_Line_1:
type: string
mailing_Address_Line_2:
type: string
mailing_City:
type: string
mailing_State:
type: string
mailing_Zip:
type: string
mailing_Zip6:
type: string
primary_State_Association_Id:
format: int32
type: integer
primaryStateAssociation:
$ref: '#/components/schemas/Association'
street_Address_Line_1:
type: string
street_Address_Line_2:
type: string
street_City:
type: string
street_State:
type: string
street_Zip:
type: string
street_Zip6:
type: string
additional_Jurisdictional_State_Association_Id_1:
format: int32
type: integer
stateAssociation1:
$ref: '#/components/schemas/Association'
additional_Jurisdictional_State_Association_Id_2:
format: int32
type: integer
stateAssociation2:
$ref: '#/components/schemas/Association'
additional_Jurisdictional_State_Association_Id_3:
format: int32
type: integer
stateAssociation3:
$ref: '#/components/schemas/Association'
web_Page_Address:
type: string
association_Executive_Fax_Number:
type: string
current_President_Member_Id:
format: int32
type: integer
currentPresident:
type: string
current_President_Elect_Member_Id:
format: int32
type: integer
currentPresidentElect:
type: string
current_Secretary_Member_Id:
format: int32
type: integer
currentSecretary:
type: string
current_Treasurer_Member_Id:
format: int32
type: integer
currentTreasurer:
type: string
prior_President_Member_Id:
format: int32
type: integer
priorPresident:
type: string
prior_President_Elect_Member_Id:
format: int32
type: integer
priorPresidentElect:
type: string
prior_Secretary_Member_Id:
format: int32
type: integer
priorSecretary:
type: string
prior_Treasurer_Member_Id:
format: int32
type: integer
priorTreasurer:
type: string
future_President_Member_Id:
format: int32
type: integer
futurePresident:
type: string
future_President_Elect_Member_Id:
format: int32
type: integer
futurePresidentElect:
type: string
future_Secretary_Member_Id:
format: int32
type: integer
futureSecretary:
type: string
future_Treasurer_Member_Id:
format: int32
type: integer
futureTreasurer:
type: string
election_Month:
type: string
commercial_Affiliate_Flag:
type: string
timestamp_Seq:
format: int64
type: integer
single_Owned_MLS_Flag:
type: string
single_Owned_MLS_Name:
type: string
allow_Poe_Proxy:
type: string
charter_Date:
format: date-time
type: string
poeId:
format: int32
type: integer
poe:
type: string
assocMemberCount:
$ref: '#/components/schemas/AssocMemberCount'
assocIdName:
type: string
assocMemberListCount:
format: int32
type: integer
assocOfficeListCount:
format: int32
type: integer
boardsServicedList:
type: array
items:
$ref: '#/components/schemas/Association_Board_Serviced'
boardsServicedIds:
type: array
items:
format: int32
type: integer
aeEmailAddress:
type: string
currentPresidentEmailAddress:
type: string
currentPresidentElectEmailAddress:
type: string
OfficeJsonPatchDocument:
type: object
properties:
operations:
type: array
items:
$ref: '#/components/schemas/OfficeOperation'
readOnly: true
contractResolver:
$ref: '#/components/schemas/IContractResolver'
Ref_Branch_Type:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
branch_Type_Code:
type: string
branch_Type_Description:
type: string
Association_Board_Serviced:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
id:
format: int32
type: integer
association_Id:
format: int32
type: integer
board_Serviced_Association_Id:
format: int32
type: integer
assocIdName:
type: string
assocNameState:
type: string
Office:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
officeId:
format: int32
type: integer
officeBusinessName:
type: string
billingOfficeId:
format: int32
type: integer
branchType:
type: string
primaryLocalAssociationId:
format: int32
type: integer
primaryStateAssociationId:
format: int32
type: integer
officeStatusCode:
type: string
officeStatusDate:
format: date-time
type: string
corporateLicenseNumber:
type: string
officeEmailAddress:
type: string
franchiseOfficeId:
format: int32
type: integer
joinedDate:
format: date-time
type: string
streetAddressLine1:
type: string
streetAddressLine2:
type: string
streetCity:
type: string
streetState:
type: string
streetZip:
type: string
streetZip6:
type: string
mainOfficeId:
format: int32
type: integer
regionalMlsId:
type: string
mlsOnlineStatus:
type: string
mlsOnlineStatusDate:
format: date-time
type: string
nmSalespersonCount:
format: int32
type: integer
directMarketingMailFlag:
type: string
mailingAddressLine1:
type: string
mailingAddressLine2:
type: string
mailingCity:
type: string
mailingState:
type: string
mailingZip:
type: string
mailingZip6:
type: string
officeContactDrId:
format: int32
type: integer
officeContactDrName:
type: string
officeContactManagerId:
format: int32
type: integer
officeContactManagerName:
type: string
officeContactUnlicensed:
type: string
officeCorporateName:
type: string
officeFaxNumber:
type: string
officePhoneNumber:
type: string
officeStopFaxFlag:
type: string
officeTypeDescription:
type: string
officePrimaryIndicator:
type: string
parentCompanyOfficeId:
format: int32
type: integer
officeStopMailFlag:
type: string
taxIdNumber:
type: string
webPageAddress:
type: string
transferDate:
format: date-time
type: string
additionalPhoneNumber:
type: string
officeFormalName:
type: string
timeStampSeq:
format: int64
type: integer
billingOffice:
$ref: '#/components/schemas/Office'
mainOffice:
$ref: '#/components/schemas/Office'
franchiseOffice:
$ref: '#/components/schemas/Office'
parentCompanyOffice:
$ref: '#/components/schemas/Office'
refOfficeStatusType:
$ref: '#/components/schemas/RefOfficeStatusType'
refBranchType:
$ref: '#/components/schemas/Ref_Branch_Type'
officeContactDr:
$ref: '#/components/schemas/Member'
officeContactManager:
$ref: '#/components/schemas/Member'
primaryLocalAssociation:
$ref: '#/components/schemas/Association'
primaryStateAssociation:
$ref: '#/components/schemas/Association'
refStreetState:
$ref: '#/components/schemas/Ref_State'
refMailState:
$ref: '#/components/schemas/Ref_State'
officeSecondaries:
type: array
items:
$ref: '#/components/schemas/OfficeSecondary'
BizOfficeSearch:
type: object
properties:
officeId:
format: int32
type: integer
officeBusinessName:
type: string
streetCity:
type: string
streetState:
type: string
streetZip:
type: string
officeStreetCountry:
type: string
officeContactDrFirstName:
type: string
officeContactDrLastName:
type: string
officeContactDrId:
format: int32
type: integer
Ref_Association_Type:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
association_Type_Code:
type: string
association_Type_Description:
type: string
association_Type_Sort_Order:
format: int32
type: integer
OfficeOperation:
type: object
properties:
operationType:
$ref: '#/components/schemas/OperationType'
path:
type: string
op:
type: string
from:
type: string
value: {}
TransferOffice:
type: object
properties:
first_Inserted_By:
type: string
first_Inserted_Datetime:
format: date-time
type: string
last_Changed_By:
type: string
last_Changed_Datetime:
format: date-time
type: string
source_System_Id:
format: int32
type: integer
source_Method_Id:
format: int32
type: integer
firstName:
type: string
lastName:
type: string
coreEntityStatusCode:
type: string
canEdit:
type: string
sourceSystemDisplayName:
type: string
isInternal:
type: boolean
returnField:
type: boolean
isPubSub:
type: boolean
officeId:
format: int32
type: integer
officeBusinessName:
type: string
billingOfficeId:
format: int32
type: integer
branchType:
type: string
primaryLocalAssociationId:
format: int32
type: integer
primaryStateAssociationId:
format: int32
type: integer
officeStatusCode:
type: string
officeStatusDate:
format: date-time
type: string
corporateLicenseNumber:
type: string
officeEmailAddress:
type: string
franchiseOfficeId:
format: int32
type: integer
joinedDate:
format: date-time
type: string
streetAddressLine1:
type: string
streetAddressLine2:
type: string
streetCity:
type: string
streetState:
type: string
streetZip:
type: string
streetZip6:
type: string
mainOfficeId:
format: int32
type: integer
regionalMlsId:
type: string
mlsOnlineStatus:
type: string
mlsOnlineStatusDate:
format: date-time
type: string
nmSalespersonCount:
format: int32
type: integer
directMarketingMailFlag:
type: string
mailingAddressLine1:
type: string
mailingAddressLine2:
type: string
mailingCity:
type: string
mailingState:
type: string
mailingZip:
type: string
mailingZip6:
type: string
officeContactDrId:
format: int32
type: integer
officeContactDrName:
type: string
officeContactManagerId:
format: int32
type: integer
officeContactManagerName:
type: string
officeContactUnlicensed:
type: string
officeCorporateName:
type: string
officeFaxNumber:
type: string
officePhoneNumber:
type: string
officeStopFaxFlag:
type: string
officeTypeDescription:
type: string
officePrimaryIndicator:
type: string
parentCompanyOfficeId:
format: int32
type: integer
officeStopMailFlag:
type: string
taxIdNumber:
type: string
webPageAddress:
type: string
transferDate:
format: date-time
type: string
additionalPhoneNumber:
type: string
officeFormalName:
type: string
timeStampSeq:
format: int64
type: integer
billingOffice:
$ref: '#/components/schemas/Office'
mainOffice:
$ref: '#/components/schemas/Office'
franchiseOffice:
$ref: '#/components/schemas/Office'
parentCompanyOffice:
$ref: '#/components/schemas/Office'
refOfficeStatusType:
$ref: '#/components/schemas/RefOfficeStatusType'
refBranchType:
$ref: '#/components/schemas/Ref_Branch_Type'
officeContactDr:
$ref: '#/components/schemas/Member'
officeContactManager:
$ref: '#/components/schemas/Member'
primaryLocalAssociation:
$ref: '#/components/schemas/Association'
primaryStateAssociation:
$ref: '#/components/schemas/Association'
refStreetState:
$ref: '#/components/schemas/Ref_State'
refMailState:
$ref: '#/components/schemas/Ref_State'
officeSecondaries:
type: array
items:
$ref: '#/components/schemas/OfficeSecondary'
transferPrimaryLocalAssociationId:
format: int32
type: integer
transferPrimaryStateAssociationId:
format: int32
type: integer
transferAssignedDate:
format: date-time
type: string
IContractResolver:
type: object
securitySchemes:
basic:
type: http
scheme: basic
description: Basic Authorization header using user and password