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