openapi: 3.2.0
info:
title: Alto Contacts API
version: '1.0'
servers:
- url: https://api.alto.zoopladev.co.uk
description: Sandbox
- url: https://api.alto.zoopla.co.uk
description: Production
security:
- Bearer: []
tags:
- name: Contacts
paths:
/contacts:
get:
tags:
- Contacts
summary: Get Contact(s) by Id(s)
description: See glossary for definition of Person and Contact.
operationId: GetContactsById
parameters:
- name: id
in: query
description: The IDs for the Contacts being requested.
schema:
maxItems: 50
type: array
items:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contact returned for Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Contact'
'400':
description: Validation error e.g. invalid Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts
post:
tags:
- Contacts
summary: Create Contact
operationId: CreateContact
parameters:
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRequest'
responses:
'201':
description: Contact created.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Contact'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'409':
description: Duplicate contacts found. Check Location response headers for URI.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts
/contacts/{contactId}:
get:
tags:
- Contacts
summary: Get Person(s) by Contact Id
description: See glossary for definition of Person and Contact.
operationId: GetContact
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contact returned for Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Contact'
'400':
description: Validation error e.g. invalid Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Contact not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-contactid
patch:
tags:
- Contacts
summary: Update Contact by Id
description: See glossary for definition of Contact.
operationId: UpdateContact
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: integer
format: int32
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
description: ContactPatchDocument payload with the intended changes.
content:
application/json-patch+json:
schema:
allOf:
- $ref: '#/components/schemas/SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchContactRequest'
responses:
'200':
description: Returns the updated Contact.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Contact'
'400':
description: Invalid Patch request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Contact not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-contactid
/contacts/{contactId}/applicant-requirements:
post:
tags:
- Contacts
summary: Create Applicant Requirement
operationId: CreateApplicantRequirement
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: integer
format: int32
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
description: The payload describing the requirements.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostApplicantRequirementRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostApplicantRequirementRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostApplicantRequirementRequest'
responses:
'201':
description: Contact created.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ApplicantRequirement'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Applicant not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:post-contacts-contactid-applicant-requirements
/contacts/{contactId}/applicant-requirements/{requirementId}:
patch:
tags:
- Contacts
summary: Update Applicant Requirement by Id
operationId: UpdateApplicantRequirement
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: requirementId
in: path
description: The unique identifier for the Applicant Requirement.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
description: ApplicantRequirement patch request payload with the intended changes.
content:
application/json-patch+json:
schema:
allOf:
- $ref: '#/components/schemas/SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchApplicantRequirement'
responses:
'200':
description: Returns the updated Applicant Requirement.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.PatchApplicantRequirement'
'400':
description: Invalid Patch request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Applicant not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:patch-contacts-contactid-applicant-requirements-requirementid
/contacts/{contactId}/bank-accounts:
get:
tags:
- Contacts
summary: Get Bank Accounts by Contact Id
operationId: ListBankAccounts
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Bank accounts returned for Contact Id.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alto.Contacts.Core.Models.Domain.BankAccount'
'204':
description: No bank accounts found for Contact Id.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alto.Contacts.Core.Models.Domain.BankAccount'
'400':
description: Validation error e.g. invalid Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Contact not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/read:contact_bank_accounts
- alto/route:get-contacts-contactid-bank-accounts
/contacts/{contactId}/forwarding-address:
post:
tags:
- Contacts
summary: Create Contact Forwarding Address
operationId: CreateForwardingAddress
parameters:
- name: contactId
in: path
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostForwardingAddressRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostForwardingAddressRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostForwardingAddressRequest'
responses:
'201':
description: Contact forwarding address created.
content:
application/json:
schema:
type: integer
format: int32
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:post-contacts-contactid-forwarding-address
/contacts/{contactId}/persons:
get:
tags:
- Contacts
summary: Get Person(s) by Contact Id
description: See glossary for definition of Person and Contact.
operationId: GetPersons
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contact returned for Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Contact'
'400':
description: Validation error e.g. invalid Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Contact not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-contactid-persons
/contacts/{contactId}/persons/{personId}:
patch:
tags:
- Contacts
summary: Update Person by Contact Id
description: See glossary for definition of Person.
operationId: UpdatePerson
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: personId
in: path
description: The Person identifier within the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
description: PersonPatchDocument payload with the intended changes.
content:
application/json-patch+json:
schema:
allOf:
- $ref: '#/components/schemas/SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchPersonRequest'
responses:
'200':
description: Returns the updated Person.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.PatchPersonResponse'
'400':
description: Invalid Patch request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Contact or Person not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:patch-contacts-contactid-persons-personid
get:
tags:
- Contacts
summary: Get Person by Contact Id
description: See glossary for definition of Person.
operationId: GetPerson
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: personId
in: path
description: The Person identifier within the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Person returned for Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.PersonSingle'
'400':
description: Validation error e.g. invalid Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Person not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:patch-contacts-contactid-persons-personid
/contacts/{contactId}/preferences:
get:
tags:
- Contacts
summary: Get Marketing Preferences by Contact Id
description: See glossary for definition of Person and Contact.
operationId: GetPreferences
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contact Consent Preferences returned for ContactId.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alto.Internal.DomainModels.Contacts.ContactConsentPreference'
'400':
description: Validation error e.g. invalid ContactId.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:post-contacts-contactid-preferences
post:
tags:
- Contacts
summary: Update Contact Marketing Preferences
description: Update contact marketing preferences, changing the opt-in status for each preference type and optionally setting notes.
parameters:
- name: contactId
in: path
description: The unique identifier for the Contact.
required: true
schema:
type: integer
format: int32
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
description: JSON array of preference changes.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequest'
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:post-contacts-contactid-preferences
/contacts/{contactId}/relationship:
get:
tags:
- Contacts
summary: Get Relationships by Contact Id
description: Get all relationships for a contact, such as guarantors and forwarding addresses.
operationId: GetContactRelationship
parameters:
- name: contactId
in: path
required: true
schema:
type: string
- name: relationshipType
in: query
schema:
type: array
items:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Relationship returned for Contact Id.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.GetContactRelationshipResponse'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-contactid-relationship
post:
tags:
- Contacts
summary: Create Contact Relationship
description: Create a relationship between a contact and a non-marketable relationship contact, such as a guarantor.
operationId: CreateContactRelationship
parameters:
- name: contactId
in: path
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRelationshipRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRelationshipRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactRelationshipRequest'
responses:
'201':
description: Contact relationship created.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactRelationshipResponse'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
'409':
description: Duplicate contact relationships found. Check Location response headers for URI.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-contactid-relationship
/contacts/{contactId}/relationship/{contactRelationshipId}:
delete:
tags:
- Contacts
summary: Delete Contact Relationship
description: Delete a relationship between a contact and a non-marketable relationship contact, such as a guarantor.
operationId: DeleteContactRelationship
parameters:
- name: contactId
in: path
required: true
schema:
type: string
- name: contactRelationshipId
in: path
required: true
schema:
type: string
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contact relationship deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactRelationshipResponse'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:delete-contacts-contactid-relationship-contactrelationshipid
/contacts/all:
get:
tags:
- Contacts
summary: Get All Contacts
operationId: GetAllContacts
parameters:
- name: active
in: query
description: Filter only active or non-active contacts.
schema:
type: boolean
example: true
example: true
- name: category
in: query
description: Filters contacts by the category of the contact.
schema:
enum:
- Unknown
- Client
- Solicitor
- BuildingSociety
- Bank
- Publication
- EstateAgent
- ManagingAgent
- Developer
- Builder
- Utility
- Service
- PreviousClient
- Miscellaneous
- FinancialAdvisor
- Maintenance
- OnSiteSales
- ExternalPrinter
- OtherCategory1
- EstateAgentLocal
- Surveyor
- Supplier
- ContactRelationship
- Accountant
type: string
example: Client
example: Client
- name: persona
in: query
description: 'Filters contacts by persona within the Contact category of Client.
A contact is included in the response if they match any of the specified personas.'
schema:
type: array
items:
enum:
- Applicant
- Vendor
- Landlord
- Tenant
type: string
- name: next-token
in: query
description: The token for the next page of results.
schema:
type: string
- name: max-results
in: query
description: The maximum number of results to return. The default value is 50, and the maximum value is 250
schema:
type: integer
format: int32
- name: created-from
in: query
description: The start date for by created date.
schema:
type: string
format: date-time
- name: created-to
in: query
description: The end date for by created date.
schema:
type: string
format: date-time
- name: modified-from
in: query
description: The start date for by modified date.
schema:
type: string
format: date-time
- name: modified-to
in: query
description: The end date for by modified date.
schema:
type: string
format: date-time
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: Contacts matching the query returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Services.SDK.Pagination.PagedResponse1_Alto.Contacts.Api.Models.Responses.ContactListItem'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-all
/contacts/search:
get:
tags:
- Contacts
summary: Search All Contacts
description: Search for all matching contacts and return a paginated list of results.
parameters:
- name: query
in: query
description: 'The query term to search for contacts. This can match on names, addresses, email addresses, phone numbers,
unique identifiers, reference codes, and company names where applicable.'
required: true
schema:
type: string
example: 07700 900000
example: 07700 900000
- name: archived
in: query
description: Optional filter to only show or exclude archived contacts.
schema:
type: boolean
example: false
example: false
- name: contact-type
in: query
description: Optional filter to only search a single contact type.
schema:
enum:
- Unknown
- Client
- Solicitor
- BuildingSociety
- Bank
- Publication
- EstateAgent
- ManagingAgent
- Developer
- Builder
- Utility
- Service
- PreviousClient
- Miscellaneous
- FinancialAdvisor
- Maintenance
- OnSiteSales
- ExternalPrinter
- OtherCategory1
- EstateAgentLocal
- Surveyor
- Supplier
- Accountant
type: string
example: Client
example: Client
- name: next-token
in: query
description: The token for the next page of results.
schema:
type: string
- name: max-results
in: query
description: The maximum number of results to return. The default value is 50, and the maximum value is 250
schema:
type: integer
format: int32
- name: created-from
in: query
description: The start date for by created date.
schema:
type: string
format: date-time
- name: created-to
in: query
description: The end date for by created date.
schema:
type: string
format: date-time
- name: modified-from
in: query
description: The start date for by modified date.
schema:
type: string
format: date-time
- name: modified-to
in: query
description: The end date for by modified date.
schema:
type: string
format: date-time
- name: AgencyRef
in: header
description: ''
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Services.SDK.Pagination.PagedResponse1_Alto.Contacts.Api.Models.Responses.ContactSearchItemResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.ErrorsResponse'
security:
- appAuth:
- alto/route:get-contacts-search
components:
schemas:
Alto.Services.SDK.Pagination.PagedResponse1_Alto.Contacts.Api.Models.Responses.ContactListItem:
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Alto.Services.SDK.Pagination.Meta'
items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactListItem'
additionalProperties: false
Alto.Api.Material.Models.Responses.ErrorsResponse:
type: object
properties:
errors:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Models.Responses.Error'
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostContactRelationshipRequest:
required:
- relatedContactId
- relationshipType
type: object
properties:
relationshipType:
enum:
- TenantGuarantor
- ForwardingAddress
type: string
description: The Relationship's type
example: TenantGuarantor
relatedContactId:
minLength: 1
type: string
description: 'The ID of the contact we will create a relationship with. This will have to be created
using POST /contact with a Category - ContactRelationship'
example: '1234'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchItemResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
contactId:
type:
- string
- 'null'
description: The unique identifier for the contact.
displayName:
type:
- string
- 'null'
description: The display name for the contact.
archived:
type: boolean
description: Indicates whether the contact is archived or not.
potentialVendor:
type: boolean
description: Indicates whether the contact has been flagged as a potential vendor.
potentialLandlord:
type: boolean
description: Indicates whether the contact has been flagged as a potential landlord.
notes:
type:
- string
- 'null'
description: The notes for the contact.
category:
enum:
- Unknown
- Client
- Solicitor
- BuildingSociety
- Bank
- Publication
- EstateAgent
- ManagingAgent
- Developer
- Builder
- Utility
- Service
- PreviousClient
- Miscellaneous
- FinancialAdvisor
- Maintenance
- OnSiteSales
- ExternalPrinter
- OtherCategory1
- EstateAgentLocal
- Surveyor
- Supplier
- Accountant
type: string
description: The category type of the contact.
registeredOn:
type:
- string
- 'null'
description: The date and time when the contact was registered.
format: date-time
lastContactedOn:
type:
- string
- 'null'
description: The date and time when the contact was last contacted.
format: date-time
address:
allOf:
- $ref: '#/components/schemas/Alto.Services.SDK.Models.Address'
description: The postal address of the contact.
people:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchPersonResponse'
description: People associated to the contact.
properties:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchPropertyResponse'
description: Properties owned by the contact.
applicantRequirements:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchApplicantRequirementResponse'
description: Applicant requirements for the contact.
modifiedDate:
type:
- string
- 'null'
description: The date and time when the contact was last modified.
format: date-time
additionalProperties: false
Alto.Contacts.Api.Models.Responses.GetContactRelationshipResponse:
type: object
properties:
contactId:
type: integer
format: int32
relationships:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactRelationship'
additionalProperties: false
Alto.Contacts.Api.Models.Requests.EmailAddress:
required:
- address
type: object
properties:
address:
minLength: 1
type: string
description: The email address.
format: email
example: john.doe@business.com
additionalProperties: false
Alto.Services.SDK.Models.Address:
type: object
properties:
subDwelling:
type:
- string
- 'null'
nameNumber:
type:
- string
- 'null'
street:
type:
- string
- 'null'
locality:
type:
- string
- 'null'
town:
type:
- string
- 'null'
county:
type:
- string
- 'null'
postcode:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
uprn:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactRelationshipResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
relationshipType:
enum:
- TenantGuarantor
- ForwardingAddress
type: string
description: The Relationship's type
example: TenantGuarantor
contactId:
type:
- string
- 'null'
description: The identifier of the Contact we added a relationship to
relatedContactId:
type:
- string
- 'null'
description: 'The ID of the contact we will create a relationship with. This will have to be created
using POST /contact with a Category - ContactRelationship'
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequestItem:
type: object
properties:
type:
enum:
- PropertyMatching
- GeneralMarketing
- FinancialServices
- ConveyancingServices
- RelocationAgentNetwork
- KeyfloViewingNotifications
type:
- string
- 'null'
optIn:
enum:
- Denied
- Granted
type:
- string
- 'null'
notes:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ApplicantRequirement:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
profileIntention:
type:
- string
- 'null'
isNewBuild:
type:
- boolean
- 'null'
priceFrom:
type:
- number
- 'null'
format: double
priceTo:
type:
- number
- 'null'
format: double
bedsMin:
type:
- integer
- 'null'
format: int32
isActiveProfile:
type: boolean
rentalIntention:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.RentalIntention'
tenureType:
enum:
- Unspecified
- Freehold
- Leasehold
- LeaseholdWithShareOfFreehold
- FlyingFreehold
- Commonhold
- ShareOfFreehold
type:
- string
- 'null'
notes:
type:
- string
- 'null'
additionalProperties: false
Alto.Internal.DomainModels.Contacts.ContactConsentPreference:
type: object
properties:
id:
type: integer
format: int32
recordId:
type: integer
format: int32
groupId:
type: integer
format: int32
versionNumber:
type: integer
format: int32
contactId:
type: integer
format: int32
dateActioned:
type:
- string
- 'null'
format: date-time
optInStatus:
enum:
- Denied
- Granted
- Unknown
- GrantedOrUnknown
type: string
type:
enum:
- PropertyMatching
- GeneralMarketing
- FinancialServices
- ConveyancingServices
- MoveIt
- RelocationAgentNetwork
- KeyfloViewingNotifications
type: string
actionedBy:
type:
- string
- 'null'
additionalInformation:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.PatchApplicantRequirement:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
profileIntention:
enum:
- Unspecified
- Buy
- Rent
type: string
description: The Applicant's intention.
example: Buy
isNewBuild:
type:
- boolean
- 'null'
description: Whether the Applicant requires a new build Property.
example: true
isActiveProfile:
type: boolean
description: Whether the Requirement is active in the Applicant's profile.
priceFrom:
type:
- integer
- 'null'
description: The minimum price of the Property.
format: int32
example: 50000
priceTo:
type:
- integer
- 'null'
description: The maximum price of the Property.
format: int32
example: 100000
bedsMin:
type:
- integer
- 'null'
description: The minimum number of bedrooms of the Property.
format: int32
example: 2
rentalIntention:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.RentalIntention'
description: The rental intention of the requirement.
example:
PriceQualifier: Monthly
Furnishing: Furnished
tenureType:
enum:
- Unspecified
- Freehold
- Leasehold
- LeaseholdWithShareOfFreehold
- FlyingFreehold
- Commonhold
- ShareOfFreehold
type:
- string
- 'null'
description: The tenure the Applicant is looking for.
example: Freehold
notes:
type:
- string
- 'null'
description: Free-text notes for the Requirement.
example: Looking for a garden and off-street parking.
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchPropertyResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
propertyId:
type:
- string
- 'null'
description: The unique identifier for the property.
displayAddress:
type:
- string
- 'null'
description: The display address for the property.
market:
enum:
- Unspecified
- Sale
- Rent
type: string
description: The market type for the property.
additionalProperties: false
Alto.Contacts.Api.Models.Responses.RentalIntention:
type: object
properties:
priceQualifier:
enum:
- Unknown
- Weekly
- Monthly
- Quarterly
- Yearly
- AdHoc
- Daily
- Fortnightly
- FourWeekly
- MonthlyOnLastDay
- QuarterlyOnQuarterDays
- HalfYearly
- HalfYearlyOnQuarterDays
type: string
furnishing:
enum:
- Unspecified
- Unfurnished
- PartFurnished
- Furnished
- FurnishedOrUnfurnished
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Core.Models.Domain.Branch:
type: object
properties:
id:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Requests.Lead:
required:
- source
type: object
properties:
source:
minLength: 1
type: string
description: The Id for this AgencyRef chosen from /parameters/lead-sources
id:
type:
- string
- 'null'
description: The numeric Id of the lead record that is being converted into a contact
additionalProperties: false
Alto.Contacts.Api.Models.Responses.EmailAddress:
type: object
properties:
preferenceOrder:
type: integer
description: The numerical order in which email addresses are to be selected.
format: int32
example: 2
type:
enum:
- Unknown
- Personal
- Business
type: string
description: The type of email address.
example: Business
address:
type:
- string
- 'null'
description: The email address.
example: john.doe@business.com
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactListItem:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
contactType:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactType'
description: The Category and persona for the contact
example:
category: Client
persona:
- Applicant
contactInformation:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactInformation'
description: 'A list of contact information, with one entry per person associated with the contact.
Only the first phone number and email address (as recorded in Alto) are included for each person.'
example:
- title: Mr
foreName: T
surname: Potter
phoneNumber: 07972846284
emailAddress: 23705219_test@propertysoftwaregroup.local
position:
type:
- string
- 'null'
description: The position of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-positions
example: '"In Rented"'
intention:
type:
- string
- 'null'
description: The intention of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-intentions
example: '"Buy"'
disposal:
type:
- string
- 'null'
description: The disposal of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-disposal-status
example: '"Not applicable"'
branch:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Core.Models.Domain.Branch'
description: The branch of the contact.
example:
id: '3156'
leadSource:
type:
- string
- 'null'
description: This contact originated from a lead (enquiry)
example: Publication - newspaper
isActive:
type: boolean
description: Whether the contact is active or archived.
example: true
potentialVendor:
type: boolean
description: Indicates whether the contact has been flagged as a potential vendor.
example: false
potentialLandlord:
type: boolean
description: Indicates whether the contact has been flagged as a potential landlord.
example: false
createdAt:
type: string
description: When the contact was created.
format: date-time
example: '2016-12-14T15:03:30.0000000+00:00'
modifiedAt:
type: string
description: When the contact was last modified.
format: date-time
example: '2017-12-25T15:03:30.0000000+00:00'
notes:
type:
- string
- 'null'
description: The notes for the contact.
companyName:
type:
- string
- 'null'
description: The company name associated with the contact.
example: Acme Corporation
applicantRequirements:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ApplicantRequirement'
description: The applicant requirements associated with the contact.
additionalProperties: false
Alto.Contacts.Api.Models.Responses.Person:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
title:
type:
- string
- 'null'
description: The formal title of the Person.
example: Ms
forename:
type:
- string
- 'null'
description: The first or given name of the Person.
example: Jane
surname:
type:
- string
- 'null'
description: The surname of the Person.
example: Doe
phoneNumbers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Phone'
emailAddresses:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.EmailAddress'
additionalProperties: false
Alto.Api.Material.Models.Responses.Error:
type: object
properties:
code:
type:
- string
- 'null'
message:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.Contact:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
address:
allOf:
- $ref: '#/components/schemas/Alto.Services.SDK.Models.Address'
branch:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Core.Models.Domain.Branch'
people:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Person'
category:
enum:
- Unknown
- Client
- Solicitor
- BuildingSociety
- Bank
- Publication
- EstateAgent
- ManagingAgent
- Developer
- Builder
- Utility
- Service
- PreviousClient
- Miscellaneous
- FinancialAdvisor
- Maintenance
- OnSiteSales
- ExternalPrinter
- OtherCategory1
- EstateAgentLocal
- Surveyor
- Supplier
- Accountant
type: string
lead:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Lead'
description: This contact originated from a lead (enquiry)
position:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ParameterValue'
description: The position of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-positions
intention:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ParameterValue'
description: The intention of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-intentions
disposal:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ParameterValue'
description: The disposal of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-disposal-status
notes:
type:
- string
- 'null'
description: The notes for the contact
archived:
type: boolean
description: The archived status of the contact.
companyName:
type:
- string
- 'null'
description: The company name associated with the contact.
potentialVendor:
type: boolean
description: Indicates whether the contact has been flagged as a potential vendor.
potentialLandlord:
type: boolean
description: Indicates whether the contact has been flagged as a potential landlord.
applicantRequirements:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ApplicantRequirement'
modifiedDate:
type: string
description: When the contact was last modified.
format: date-time
example: '2017-12-25T15:03:30.0000000+00:00'
additionalProperties: false
Alto.Contacts.Core.Models.Domain.BankAccount:
type: object
properties:
accountHolderName:
type:
- string
- 'null'
accountName:
type:
- string
- 'null'
accountNumber:
type:
- string
- 'null'
bicNumber:
type:
- string
- 'null'
branchCode:
type:
- string
- 'null'
branchName:
type:
- string
- 'null'
ibanNumber:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ParameterValue:
type: object
properties:
code:
type:
- string
- 'null'
name:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchRentalIntention:
type: object
properties:
priceQualifier:
enum:
- Unknown
- Weekly
- Monthly
- Quarterly
- Yearly
- AdHoc
- Daily
- Fortnightly
- FourWeekly
- MonthlyOnLastDay
- QuarterlyOnQuarterDays
- HalfYearly
- HalfYearlyOnQuarterDays
type: string
furnishing:
enum:
- Unspecified
- Unfurnished
- PartFurnished
- Furnished
- FurnishedOrUnfurnished
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactType:
type: object
properties:
category:
enum:
- Unknown
- Client
- Solicitor
- BuildingSociety
- Bank
- Publication
- EstateAgent
- ManagingAgent
- Developer
- Builder
- Utility
- Service
- PreviousClient
- Miscellaneous
- FinancialAdvisor
- Maintenance
- OnSiteSales
- ExternalPrinter
- OtherCategory1
- EstateAgentLocal
- Surveyor
- Supplier
- ContactRelationship
- Accountant
type: string
description: The Category of the contact
example: '"Client"'
persona:
type:
- array
- 'null'
items:
enum:
- Applicant
- Vendor
- Landlord
- Tenant
type: string
description: The Persona(s) of the contact
example:
- Landlord
- Vendor
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchEmailResponse:
type: object
properties:
emailAddressId:
type:
- string
- 'null'
description: The unique identifier for the email address.
emailAddress:
type:
- string
- 'null'
description: The email address for the person.
example: john.doe@business.com
additionalProperties: false
Alto.Api.Material.Hateoas.Link:
type: object
properties:
href:
type:
- string
- 'null'
rel:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.PatchPersonResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
title:
type:
- string
- 'null'
description: The formal title of the Person.
example: Ms
forename:
type:
- string
- 'null'
description: The first or given name of the Person.
example: Jane
surname:
type:
- string
- 'null'
description: The surname of the Person.
example: Doe
phoneNumbers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Phone'
description: A list of the Person's phone numbers.
emailAddresses:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.EmailAddress'
description: A list of the Person's email addresses
additionalProperties: false
SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchApplicantRequirement:
anyOf:
- title: Profile Intention
type: object
properties:
op:
enum:
- replace
type: string
value:
enum:
- Buy
- Rent
type: string
example: Buy
path:
type: string
default: /ProfileIntention
example: /ProfileIntention
description: "\n The Applicant's intention.\n "
example: "\n{ \n \"path\": \"/ProfileIntention\", \n \"op\": \"add\", \n \"value\": \"Buy\" \n}"
- title: Is New Build
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: 'true'
path:
type: string
default: /IsNewBuild
example: /IsNewBuild
description: "\n Whether the Applicant requires a new build Property.\n "
example: "\n{ \n \"path\": \"/IsNewBuild\", \n \"op\": \"replace\", \n \"value\": true\n}"
- title: Is Active Profile
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: 'true'
path:
type: string
default: /IsActiveProfile
example: /IsActiveProfile
description: "\n Whether the Requirement is active in the Applicant's profile.\n "
example: "\n{ \n \"path\": \"/IsActiveProfile\", \n \"op\": \"replace\", \n \"value\": true\n}"
- title: Price From
type: object
properties:
op:
enum:
- replace
type: string
value:
type: integer
example: '50000'
path:
type: string
default: /PriceFrom
example: /PriceFrom
description: "\n The minimum price of the Property.\n "
example: "\n{ \n \"path\": \"/PriceFrom\", \n \"op\": \"replace\", \n \"value\": 50000\n}"
- title: Price To
type: object
properties:
op:
enum:
- replace
type: string
value:
type: integer
example: '100000'
path:
type: string
default: /PriceTo
example: /PriceTo
description: "\n The maximum price of the Property.\n "
example: "\n{ \n \"path\": \"/PriceTo\", \n \"op\": \"replace\", \n \"value\": 100000\n}"
- title: Beds Min
type: object
properties:
op:
enum:
- replace
type: string
value:
type: integer
example: '2'
path:
type: string
default: /BedsMin
example: /BedsMin
description: "\n The minimum number of bedrooms of the Property.\n "
example: "\n{ \n \"path\": \"/BedsMin\", \n \"op\": \"replace\", \n \"value\": 2\n}"
- title: Rental Price Qualifier
type: object
properties:
op:
enum:
- replace
type: string
value:
enum:
- Weekly
- Monthly
type: string
example: Monthly
path:
type: string
default: /RentalPriceQualifier
example: /RentalPriceQualifier
description: "\n The frequency of the rental payment.\n "
example: "\n{ \n \"path\": \"/RentalPriceQualifier\", \n \"op\": \"add\", \n \"value\": \"Monthly\" \n}"
- title: Rental Furnishing
type: object
properties:
op:
enum:
- replace
type: string
value:
enum:
- Furnished
- PartFurnished
- Unfurnished
- Unspecified
type: string
example: Furnished
path:
type: string
default: /RentalFurnishing
example: /RentalFurnishing
description: "\n The furnishing requirement of the desired property.\n "
example: "\n{ \n \"path\": \"/RentalFurnishing\", \n \"op\": \"add\", \n \"value\": \"Furnished\" \n}"
- title: Tenure Type
type: object
properties:
op:
enum:
- replace
type: string
value:
enum:
- Freehold
- Leasehold
- Unspecified
type: string
example: Freehold
path:
type: string
default: /TenureType
example: /TenureType
description: "\n The tenure the Applicant is looking for.\n "
example: "\n{ \n \"path\": \"/TenureType\", \n \"op\": \"add\", \n \"value\": \"Freehold\" \n}"
- title: Notes
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"Looking for a garden and off-street parking."'
path:
type: string
default: /Notes
example: /Notes
description: "\n Free-text notes for the Requirement.\n "
example: "\n{ \n \"path\": \"/Notes\", \n \"op\": \"replace\", \n \"value\": \"Looking for a garden and off-street parking.\"\n}"
Alto.Contacts.Api.Models.Responses.PersonSingle:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
title:
type:
- string
- 'null'
description: The formal title of the Person.
example: Ms
forename:
type:
- string
- 'null'
description: The first or given name of the Person.
example: Jane
surname:
type:
- string
- 'null'
description: The surname of the Person.
example: Doe
phoneNumbers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.Phone'
emailAddresses:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.EmailAddress'
isContactArchived:
type: boolean
description: The archived status of the contact this person belongs to.
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostForwardingAddressRequest:
required:
- address
- branchId
type: object
properties:
negotiatorId:
type:
- string
- 'null'
description: The unique identifier of the negotiator
example: '1234'
branchId:
minLength: 1
type: string
description: The Contact's BranchId.
example: '1234'
address:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.Address'
description: The Contact's Address details.
additionalProperties: false
SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchApplicantRequirement:
type: array
items:
$ref: '#/components/schemas/SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchApplicantRequirement'
description: Array of operations to perform
Alto.Contacts.Api.Models.Responses.ContactSearchPhoneResponse:
type: object
properties:
phoneNumberId:
type:
- string
- 'null'
description: The unique identifier for the phone number.
phoneNumber:
type:
- string
- 'null'
description: The telephone number for the Person.
example: 01234567891
additionalProperties: false
Alto.Contacts.Api.Models.Requests.Address:
type: object
properties:
subDwelling:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The sub-dwelling of the address, such as a flat or apartment number.
example: The Flats
nameNumber:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The name or number of the building or property.
example: '12'
street:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The name of the street.
example: Fulham Road
locality:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The locality, such as a village or neighborhood.
example: Fulham
town:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The town or city of the address.
example: London
county:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The county or region of the address.
example: Greater London
postcode:
maxLength: 20
minLength: 0
type:
- string
- 'null'
description: The postal code of the address.
example: SW10 0BF
countryCode:
maxLength: 2
minLength: 0
type:
- string
- 'null'
description: 'The country code of the address.
Default if not set: GB'
example: GB
uprn:
maxLength: 12
minLength: 0
type:
- string
- 'null'
description: 'The Unique Property Reference Number (UPRN) for the address.
This is an optional field for backward compatibility.'
example: '100123456789'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchPersonResponse:
type: object
properties:
personId:
type:
- string
- 'null'
description: The unique identifier for the person within the contact.
example: '1'
title:
type:
- string
- 'null'
description: The formal title of the Person.
example: Mr
forename:
type:
- string
- 'null'
description: The first or given name of the Person.
example: John
surname:
type:
- string
- 'null'
description: The surname of the Person.
example: Doe
emails:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchEmailResponse'
description: The email addresses for the Person.
phoneNumbers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchPhoneResponse'
description: The phone numbers for the Person.
additionalProperties: false
Alto.Contacts.Api.Models.Responses.Phone:
type: object
properties:
preferenceOrder:
type: integer
description: The numerical order in which phone numbers are to be selected.
format: int32
example: 1
type:
enum:
- Unspecified
- Home
- Business
- Mobile
- Fax
- Work
- ISDN
type: string
description: The type of phone number.
example: Mobile
number:
type:
- string
- 'null'
description: The telephone number for the Contact.
example: 01234567891
description:
type:
- string
- 'null'
description: The description of the phone number
example: John's mobile
additionalProperties: false
SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchContactRequest:
type: array
items:
$ref: '#/components/schemas/SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchContactRequest'
description: Array of operations to perform
Alto.Contacts.Api.Models.Responses.Lead:
type: object
properties:
source:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ParameterValue'
id:
type:
- integer
- 'null'
format: int32
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequest:
type: object
properties:
items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.PostContactConsentPreferencesRequestItem'
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactInformation:
type: object
properties:
title:
type:
- string
- 'null'
foreName:
type:
- string
- 'null'
surname:
type:
- string
- 'null'
phoneNumber:
type:
- string
- 'null'
emailAddress:
type:
- string
- 'null'
additionalProperties: false
Alto.Services.SDK.Pagination.Meta:
type: object
properties:
nextToken:
type:
- string
- 'null'
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostContactRequest:
required:
- branchId
- people
type: object
properties:
negotiatorId:
type:
- string
- 'null'
description: The unique identifier of the negotiator
example: '1234'
branchId:
minLength: 1
type: string
description: The Contact's BranchId.
example: '1234'
address:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.Address'
description: The Contact's Address details.
people:
maxItems: 2
minItems: 1
type: array
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.Person'
description: The Person(s) on the Contact. Each Contact must have at least one Person but no more than two People.
lead:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.Lead'
description: This contact originated from a lead (enquiry)
position:
type:
- string
- 'null'
description: The position of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-positions
intention:
type:
- string
- 'null'
description: The intention of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-intentions
disposal:
type:
- string
- 'null'
description: The disposal of the contact, defined as the Id for this AgencyRef chosen from /parameters/client-disposal-status
notes:
type:
- string
- 'null'
description: The notes for the contact
companyName:
type:
- string
- 'null'
description: The company name associated with the contact
category:
enum:
- Unknown
- Client
- ContactRelationship
type: string
description: The contact's category type
example: Client, ContactRelationship
potentialVendor:
type:
- boolean
- 'null'
description: Indicates whether the contact is a potential vendor.
example: true
potentialLandlord:
type:
- boolean
- 'null'
description: Indicates whether the contact is a potential landlord.
example: true
additionalProperties: false
SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchPersonRequest:
anyOf:
- title: Title
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"Ms"'
path:
type: string
default: /Title
example: /Title
description: The formal title of the Person.
example: "\n{ \n \"path\": \"/Title\", \n \"op\": \"replace\", \n \"value\": \"Ms\"\n}"
- title: Forename
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"Jane"'
path:
type: string
default: /Forename
example: /Forename
description: The first or given name of the Person.
example: "\n{ \n \"path\": \"/Forename\", \n \"op\": \"replace\", \n \"value\": \"Jane\"\n}"
- title: Surname
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"Smith"'
path:
type: string
default: /Surname
example: /Surname
description: The surname of the Person.
example: "\n{ \n \"path\": \"/Surname\", \n \"op\": \"replace\", \n \"value\": \"Smith\"\n}"
- title: Phone Numbers
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '{"Type": 1,"Number": "07800123456","Description": "Home"}'
path:
type: string
default: /PhoneNumbers
example: /PhoneNumbers/-
description: A list of the Person's phone numbers.
example: "\n{ \n \"path\": \"/PhoneNumbers/-\", \n \"op\": \"add\", \n \"value\": {\"Type\": 1,\"Number\": \"07800123456\",\"Description\": \"Home\"}\n}"
- title: Email Addresses
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '{"Address": "testingtester@testingtester.test"}'
path:
type: string
default: /EmailAddresses
example: /EmailAddresses/-
description: A list of the Person's email addresses.
example: "\n{ \n \"path\": \"/EmailAddresses/-\", \n \"op\": \"add\", \n \"value\": {\"Address\": \"testingtester@testingtester.test\"}\n}"
Alto.Contacts.Api.Models.Responses.ContactRelationship:
type: object
properties:
relationshipId:
type: integer
format: int32
relationshipType:
enum:
- TenantGuarantor
- ForwardingAddress
type: string
relatedContactId:
type: integer
format: int32
additionalProperties: false
Alto.Services.SDK.Pagination.PagedResponse1_Alto.Contacts.Api.Models.Responses.ContactSearchItemResponse:
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Alto.Services.SDK.Pagination.Meta'
items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchItemResponse'
additionalProperties: false
SystemTextJsonPatch.JsonPatchDocument1_Alto.Contacts.Api.Models.Requests.PatchPersonRequest:
type: array
items:
$ref: '#/components/schemas/SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchPersonRequest'
description: Array of operations to perform
Alto.Contacts.Api.Models.Requests.Phone:
required:
- number
type: object
properties:
type:
enum:
- Unspecified
- Home
- Business
- Mobile
- Fax
- Work
- ISDN
type: string
description: 'The type of phone number. Default if not set: "Home".'
example: Mobile
number:
minLength: 1
pattern: ^[\+]?[0-9\s]{10,20}$
type: string
description: The telephone number for the Person.
example: +44 7 267 789 134
description:
maxLength: 50
type:
- string
- 'null'
description: The description of the telephone number.
example: Evenings and weekends only!
additionalProperties: false
Alto.Contacts.Api.Models.Requests.PostApplicantRequirementRequest:
required:
- profileIntention
type: object
properties:
profileIntention:
enum:
- Buy
- Rent
type: string
description: The Applicant's intention.
example: Buy
isNewBuild:
type:
- boolean
- 'null'
description: Whether the Applicant requires a new build Property.
example: true
isActiveProfile:
type:
- boolean
- 'null'
description: Whether the Requirement is active in the Applicant's profile.
example: true
priceFrom:
maximum: 2147483647
minimum: 0
type:
- integer
- 'null'
description: The minimum price of the Property.
format: int32
example: 50000
priceTo:
maximum: 2147483647
minimum: 0
type:
- integer
- 'null'
description: The maximum price of the Property.
format: int32
example: 100000
bedsMin:
maximum: 10
minimum: 0
type:
- integer
- 'null'
description: The minimum number of bedrooms of the Property.
format: int32
example: 2
rentalPriceQualifier:
enum:
- Weekly
- Monthly
type:
- string
- 'null'
description: The frequency of the rental payment.
example: Monthly
rentalFurnishing:
enum:
- Furnished
- PartFurnished
- Unfurnished
- Unspecified
type:
- string
- 'null'
description: The furnishing requirement of the desired property.
example: Furnished
tenureType:
enum:
- Freehold
- Leasehold
- Unspecified
type:
- string
- 'null'
description: The tenure the Applicant is looking for.
example: Freehold
notes:
type:
- string
- 'null'
description: Free-text notes for the Requirement.
example: Looking for a garden and off-street parking.
additionalProperties: false
Alto.Contacts.Api.Models.Requests.Person:
required:
- surname
type: object
properties:
title:
maxLength: 20
minLength: 0
type:
- string
- 'null'
description: The formal title of the Person.
example: Ms
forename:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: The first or given name of the Person.
example: Jane
surname:
maxLength: 50
minLength: 0
type: string
description: The surname of the Person.
example: Doe
phoneNumbers:
maxItems: 4
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.Phone'
description: A list of the Person's phone numbers.
emailAddresses:
maxItems: 2
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Contacts.Api.Models.Requests.EmailAddress'
description: A list of the Person's email addresses
additionalProperties: false
Alto.Contacts.Api.Models.Responses.ContactSearchApplicantRequirementResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique identifier for the resource.
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Alto.Api.Material.Hateoas.Link'
description: Links to related entities.
profileIntention:
enum:
- Unspecified
- Buy
- Rent
type: string
isNewBuild:
type:
- boolean
- 'null'
priceFrom:
type:
- integer
- 'null'
format: int32
priceTo:
type:
- integer
- 'null'
format: int32
bedsMin:
type:
- integer
- 'null'
format: int32
isActiveProfile:
type: boolean
rentalIntention:
allOf:
- $ref: '#/components/schemas/Alto.Contacts.Api.Models.Responses.ContactSearchRentalIntention'
additionalProperties: false
SystemTextJsonPatch.Operations.Operation1_Alto.Contacts.Api.Models.Requests.PatchContactRequest:
anyOf:
- title: Active
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: 'true'
path:
type: string
default: /Active
example: /Active
description: "\n The contact's active status.\n "
example: "\n{ \n \"path\": \"/Active\", \n \"op\": \"replace\", \n \"value\": true\n}"
- title: Position Id
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"267"'
path:
type: string
default: /PositionId
example: /PositionId
description: "\n The code for the contact's position.\n "
example: "\n{ \n \"path\": \"/PositionId\", \n \"op\": \"replace\", \n \"value\": \"267\"\n}"
- title: Intention Id
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"89"'
path:
type: string
default: /IntentionId
example: /IntentionId
description: "\n The code for the contact's intention.\n "
example: "\n{ \n \"path\": \"/IntentionId\", \n \"op\": \"replace\", \n \"value\": \"89\"\n}"
- title: Disposal Id
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: '"271"'
path:
type: string
default: /DisposalId
example: /DisposalId
description: "\n The code for the contact's disposal status.\n "
example: "\n{ \n \"path\": \"/DisposalId\", \n \"op\": \"replace\", \n \"value\": \"271\"\n}"
- title: Potential Vendor
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: 'true'
path:
type: string
default: /PotentialVendor
example: /PotentialVendor
description: "\n Indicates whether the contact is a potential vendor.\n "
example: "\n{ \n \"path\": \"/PotentialVendor\", \n \"op\": \"replace\", \n \"value\": true\n}"
- title: Potential Landlord
type: object
properties:
op:
enum:
- replace
type: string
value:
type: string
example: 'true'
path:
type: string
default: /PotentialLandlord
example: /PotentialLandlord
description: "\n Indicates whether the contact is a potential landlord.\n "
example: "\n{ \n \"path\": \"/PotentialLandlord\", \n \"op\": \"replace\", \n \"value\": true\n}"
securitySchemes:
Bearer:
type: apiKey
description: Please enter JWT with Bearer into field
name: Authorization
in: header