Domain Campaign API - Preview
Preview channel of the Campaign API, giving authorised media agencies early access to campaign performance metrics ahead of general release. Documented as a separate API package on the Domain developer portal.
Preview channel of the Campaign API, giving authorised media agencies early access to campaign performance metrics ahead of general release. Documented as a separate API package on the Domain developer portal.
{
"openapi": "3.0.4",
"info": {
"title": "Domain Public API",
"description": "See https://developer.domain.com.au for more information",
"termsOfService": "https://developer.domain.com.au/docs/latest/support/terms",
"contact": {
"name": "Domain Developer Support",
"email": "api@domain.com.au"
},
"version": "latest"
},
"servers": [
{
"url": "https://api.domain.com.au/",
"description": "Primary"
},
{
"url": "https://api.domain.com.au/sandbox/",
"description": "Sandbox"
}
],
"paths": {
"/v1/addressLocators": {
"get": {
"tags": [
"AddressLocators"
],
"summary": "Address Locator API",
"description": "Retrieves address matching ids for use in other services.",
"operationId": "AddressLocators_Get",
"parameters": [
{
"name": "searchLevel",
"in": "query",
"description": "Requested search level. Valid values are: Address, and Suburb.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "unitNumber",
"in": "query",
"description": "Unit number of the address.",
"schema": {
"type": "string"
}
},
{
"name": "streetNumber",
"in": "query",
"description": "Street number of the address.",
"schema": {
"type": "string"
}
},
{
"name": "streetName",
"in": "query",
"description": "Street name of the address.",
"schema": {
"type": "string"
}
},
{
"name": "streetType",
"in": "query",
"description": "Street type of the address. Can take long or short street type",
"schema": {
"type": "string"
}
},
{
"name": "suburb",
"in": "query",
"description": "Suburb name of the address.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "state",
"in": "query",
"description": "State abbreviation of the address.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "postcode",
"in": "query",
"description": "Postcode of the address.",
"schema": {
"pattern": "^\\d{4}$",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Retrieve address IDs that may be used to query information from other endpoints."
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"500": {
"description": "Unexpected error"
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_addresslocators_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agencies": {
"get": {
"tags": [
"Agencies"
],
"summary": "Retrieves summary of agencies matching the specified criteria.",
"description": "\nThe ```q``` parameter supports:\r\n<ul>\r\n <li>name: search by name eg. ```name:\"Agency XYZ\"```</li>\r\n <li>providerId: search by providerId. eg. ```providerId:\"ABC Software\"```</li>\r\n <li>domainUrl: search by domainUrl. eg. ```domainUrl:\"agency-xyz\"```</li>\r\n <li>dateUpdated: search by dateUpdated. eg. ```dateUpdated:\"2016-12-25\"```</li>\r\n <li>suburbId: search by suburbId. Lists supported. eg. ```suburbId:1``` eg. ```suburbId:(1 OR 2 OR 3)```. Can include related suburbs by adding ```in:related```</li>\r\n <li>accountType: search by account type. Lists supported. eg. ```accountType:residential``` eg. ```accountType:(residential OR commercial)``` Valid values are: none, residential, commerciallight, commercialfull, developer, holiday, business</li>\r\n <li>\r\n ```in:all``` includes archived agencies (archived agencies excluded by default)</li>\r\n <li>\r\n ```-is:selfservice``` excludes selfservice</li>\r\n</ul>",
"operationId": "Agencies_Search",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search phrase. e.g. name:\"Agency XYZ\"",
"schema": {
"type": "string"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Agencies.V2.AgencySummary"
}
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
},
"head": {
"tags": [
"Agencies"
],
"summary": "Retrieves summary of agency search.",
"description": "Given a specified agency search criteria, this endpoint can be used to ascertain the result count that can be expected.\r\n\r\nSee `X-Total-Count` header for result count.",
"operationId": "Agencies_Head",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search phrase. e.g. name:\"Agency XYZ\"",
"schema": {
"type": "string"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"204": {
"description": "No Content"
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agencies/_testAgency": {
"post": {
"tags": [
"Agencies"
],
"summary": "Create a test agency for sandbox testing",
"description": "Enables automatic creation of a test agency in our sandbox environment.",
"operationId": "Agencies_CreateTestAgency",
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Agencies.V2.Agency"
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_write"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": true,
"x-domain-environment": "Sandbox"
}
},
"/v1/agencies/{id}": {
"get": {
"tags": [
"Agencies"
],
"summary": "Retrieves a specific agency details.",
"operationId": "Agencies_Get",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Agency identifier",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Agencies.V2.Agency"
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agencies/{id}/listings": {
"get": {
"tags": [
"Agencies"
],
"summary": "Retrieves listings across all channels for a specific agency matching specified criteria.",
"description": "Note that the result page size is clamped at 200. Requesting a page size greater than this will be treated as if only a page size of 200 were requested.",
"operationId": "Agencies_GetListings",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Id of the agency",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "listingStatusFilter",
"in": "query",
"description": "Filter for listing status",
"schema": {
"enum": [
"live",
"liveAndArchived"
],
"type": "string",
"description": "Which listings to filter based on status in lifecycle",
"default": "live"
}
},
{
"name": "dateUpdatedSince",
"in": "query",
"description": "Filter to remove listings not updated since before the given date time",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Listings.V1.Listing"
}
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_listings_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agencies/{id}/statistics": {
"get": {
"tags": [
"Agencies"
],
"summary": "Retrieves statistics for a specific agency.",
"operationId": "Agencies_GetStatistics",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Agency identifier",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "timePeriod",
"in": "query",
"description": "Period to report on, Valid values are: `last7Days`, `last90Days`, `wholeCampaign`. Default is `last7Days`.",
"schema": {
"enum": [
"last7Days",
"last90Days",
"wholeCampaign"
],
"type": "string",
"description": "Defines StatisticsTimePeriod",
"default": "last7Days"
}
},
{
"name": "statusFilter",
"in": "query",
"description": "Status to filter, Valid values are: `Live`, `LiveAndArchived`. Default is `LiveAndArchived`",
"schema": {
"enum": [
"live",
"liveAndArchived"
],
"type": "string",
"description": "Which listings to filter based on status in lifecycle",
"default": "liveAndArchived"
}
},
{
"name": "channel",
"in": "query",
"description": "Filter statistics for the given channel",
"schema": {
"enum": [
"residential",
"commercial",
"business"
],
"type": "string",
"description": "Channel of the listing",
"default": "residential"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ListingPerformance.v1.Statistics"
}
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": true,
"x-domain-environment": "Any"
}
},
"/v1/agents/{id}": {
"get": {
"tags": [
"Agents"
],
"summary": "Retrieves a specific agent details, including contact information.",
"operationId": "Agents_Get",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Agent identifier",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Agencies.V1.Agent"
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agents/{id}/listings": {
"get": {
"tags": [
"Agents"
],
"summary": "Gets listing using the contact id",
"operationId": "Agents_GetListings",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Id of the agent (contact)",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "dateUpdatedSince",
"in": "query",
"description": "Filter to remove listings not updated since before the given date time",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "includedArchivedListings",
"in": "query",
"description": "Filter to remove listings that have been archived",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Listings.V1.Listing"
}
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_listings_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Any"
}
},
"/v1/agents/{id}/statistics": {
"get": {
"tags": [
"Agents"
],
"summary": "Retrieves stats for the listings of a given agent",
"operationId": "Agents_GetStatistics",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Agent identifier",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "timePeriod",
"in": "query",
"description": "The time period to show statistics for. Valid values are: `last7Days`, `last90Days`, `wholeCampaign`",
"schema": {
"enum": [
"last7Days",
"last90Days",
"wholeCampaign"
],
"type": "string",
"description": "Defines StatisticsTimePeriod",
"default": "last7Days"
}
},
{
"name": "statusFilter",
"in": "query",
"description": "Listing filter",
"schema": {
"enum": [
"live",
"liveAndArchived"
],
"type": "string",
"description": "Which listings to filter based on status in lifecycle",
"default": "liveAndArchived"
}
},
{
"name": "channel",
"in": "query",
"description": "Filter statistics for the given channel",
"schema": {
"enum": [
"residential",
"commercial",
"business"
],
"type": "string",
"description": "Channel of the listing",
"default": "residential"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results",
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ListingPerformance.v1.Statistics"
}
}
}
}
},
"default": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": true,
"x-domain-environment": "Primary"
}
},
"/v1/agents/search": {
"get": {
"tags": [
"Agents"
],
"summary": "Search for agents by name.",
"description": "The returned Agent ID can be used to get an agent details by ID. See `GET /agents/{id}/`",
"operationId": "Agents_Search",
"parameters": [
{
"name": "query",
"in": "query",
"description": "The name, or portion of name, to search for.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "pageNumber",
"in": "query",
"description": "Page number for paginated results",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "pageSize",
"in": "query",
"description": "Page size for paginated results (maximum 20)",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Domain.AgentSearch.v1.Model.AutoSuggestAgentResultDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Domain.AgentSearch.v1.Model.AutoSuggestAgentResultDto"
}
}
},
"text/html": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Domain.AgentSearch.v1.Model.AutoSuggestAgentResultDto"
}
}
},
"application/xml": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Domain.AgentSearch.v1.Model.AutoSuggestAgentResultDto"
}
}
},
"text/xml": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Domain.AgentSearch.v1.Model.AutoSuggestAgentResultDto"
}
}
}
}
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_agencies_read"
]
}
],
"x-domain-usercontextrequired": false,
"x-domain-endpointcost": 1,
"x-domain-environment": "Primary"
}
},
"/v1/authorities": {
"post": {
"tags": [
"Authorities"
],
"summary": "Creates a new authority into the system.",
"description": "Creates a new authority into the system.",
"operationId": "Authorities_Create",
"requestBody": {
"description": "Authority information to be created.",
"content": {
"application/vnd.realtimeagent.authorities.v1+json": {
"schema": {
"$ref": "#/components/schemas/Authorities.v1.AuthorityRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "authority created",
"content": {
"application/vnd.realtimeagent.authorities.v1+json": {
"schema": {
"$ref": "#/components/schemas/Authorities.v1.AuthorityResponse"
}
}
}
},
"400": {
"description": "invalid input, object invalid"
},
"401": {
"description": "Unauthorized access."
},
"409": {
"description": "an existing authority already exists"
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_authorities_write"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Primary"
}
},
"/v1/authorities/{id}": {
"get": {
"tags": [
"Authorities"
],
"summary": "Retrieve a single authority",
"description": "Retrieve authority details based on the given ID.",
"operationId": "Authorities_GetById",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Details of a single authority.",
"content": {
"application/vnd.realtimeagent.authorities.v1+json": {
"schema": {
"$ref": "#/components/schemas/Authorities.v1.AuthorityResponse"
}
}
}
},
"400": {
"description": "invalid input, object invalid"
},
"401": {
"description": "Unauthorized access."
},
"404": {
"description": "Authority does not exist."
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_authorities_write"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Primary"
},
"put": {
"tags": [
"Authorities"
],
"summary": "full update an existing authority.",
"description": "Executes a full update on an existing authority.",
"operationId": "Authorities_UpdateById",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"description": "Authority information to be updated.",
"content": {
"application/vnd.realtimeagent.authorities.v1+json": {
"schema": {
"$ref": "#/components/schemas/Authorities.v1.AuthorityResponse"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "authority updated",
"content": {
"application/vnd.realtimeagent.authorities.v1+json": {
"schema": {
"$ref": "#/components/schemas/Authorities.v1.AuthorityResponse"
}
}
}
},
"400": {
"description": "invalid input, object invalid"
},
"401": {
"description": "Unauthorized access."
},
"404": {
"description": "Authority does not exist."
}
},
"security": [
{
"apikey": []
},
{
"oauth2": [
"api_authorities_write"
]
}
],
"x-domain-endpointcost": 1,
"x-domain-usercontextrequired": false,
"x-domain-environment": "Primary"
}
},
"/v1/authorities/{id}/attachments": {
"get": {
"tags": [
"Authorities"
],
"summary": "Download a compressed file that contains all files attached to an authority.",
"description": "Download a compressed file(`.zip`) that contains all files atta
# --- truncated at 32 KB (993 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/domain-group/refs/heads/main/openapi/domain-group-openapi-latest.json