Community API (1.0)

Download OpenAPI specification:Download

Returns a list of organisations

Returns a list of organisations

Authorizations:
CognitoUserPool
query Parameters
filter
string
Example: filter=name:Moreland%,createdAfter:2020-08-06

Filters to apply to records

limit
integer [ 1 .. 1000 ]
Example: limit=50

Max number of records to return

offset
integer >= 0
Example: offset=100

Used for paging - offset from start

include
string
Example: include=PrimaryContact,Tenant

Provide list of extended properties to return

extent
Array of arrays

Geojson polygon to search within

fields
string
Example: fields=name

List of basic properties to return (* indicates all)

order
string
Example: order=name,-createdAt

Sort order for results - hyphen prefix reverses order

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "Organisations": [
    ]
}

Creates a new organisation

Creates a new organisation

Authorizations:
CognitoUserPool
Request Body schema: application/json
name
string
role
string
Enum: "ASSETOWNER" "DBYD" "OTHER"
primaryContactId
integer >= 1

User id of an existing user who is the primary contact

primaryContactEmail
string >= 3

Email address of the primary contact

utilityId
integer >= 1

Utility Id of the member

tenantId
integer >= 1

Tenant Id of the member

organisationType
string
Enum: "LOCAL GOVERNMENT" "GAS" "TELCO" "ELECTRIC" "WATER" "OTHER"

Type of organisation

Responses

Request samples

Content type
application/json
{
  • "name": "Victoria Gas",
  • "role": "ASSETOWNER",
  • "primaryContactId": 1,
  • "primaryContactEmail": 324,
  • "utilityId": 32456,
  • "tenantId": 1,
  • "organisationType": "LOCAL GOVERNMENT"
}

Response samples

Content type
application/json
{
  • "id": 456,
  • "name": "Victoria Gas",
  • "role": "ASSETOWNER",
  • "isDisabled": false,
  • "contactName": "Assets Team",
  • "contactEmail": "assets@melbournewater.com.au",
  • "contactPhoneNumber": 1300123456,
  • "contactEmergencyPhone": 1300123456,
  • "LogoImageFile": {
    },
  • "PrimaryContact": {
    },
  • "safetyMessage": "Damaging telco infrastructure poses serious risks of major community disruption and costly repairs. Please follow all attached instructions and if necessary organise prior approval/coordination. The use of a skilled locator may be required. Ensure compliance with all specified safety measures.",
  • "Tenant": {
    }
}

Returns a list of organisations for emergency deta

Returns a list of organisations for emergency details

Authorizations:
CognitoUserPool
query Parameters
limit
integer [ 1 .. 1000 ]
Example: limit=50

Max number of records to return

offset
integer >= 0
Example: offset=100

Used for paging - offset from start

extent
Array of arrays

Geojson polygon to search within

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "Organisations": [
    ]
}

Returns a organisation

Returns a organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 456,
  • "name": "Victoria Gas",
  • "role": "ASSETOWNER",
  • "isDisabled": false,
  • "contactName": "Assets Team",
  • "contactEmail": "assets@melbournewater.com.au",
  • "contactPhoneNumber": 1300123456,
  • "contactEmergencyPhone": 1300123456,
  • "LogoImageFile": {
    },
  • "PrimaryContact": {
    },
  • "safetyMessage": "Damaging telco infrastructure poses serious risks of major community disruption and costly repairs. Please follow all attached instructions and if necessary organise prior approval/coordination. The use of a skilled locator may be required. Ensure compliance with all specified safety measures.",
  • "Tenant": {
    }
}

Deletes an organisation

Deletes an organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to delete

Responses

Updates an organisation

Updates an organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to update

Request Body schema: application/json
name
string
isDisabled
boolean

Indicates that DBYD has disabled this organisation

primaryContactId
integer >= 1

User id of an existing user who is the primary contact

contactName
string <= 100 characters
contactEmail
string
contactPhoneNumber
string <= 16 characters
contactEmergencyPhone
string <= 16 characters
organisationType
string
Enum: "LOCAL GOVERNMENT" "GAS" "TELCO" "ELECTRIC" "WATER" "OTHER"

Type of organisation

contactUrl
string
safetyMessage
string
isDeleteLogo
boolean
logoId
integer

Responses

Request samples

Content type
application/json
{
  • "name": "Victoria Gas",
  • "isDisabled": false,
  • "primaryContactId": 1,
  • "contactName": "Assets Team",
  • "contactEmail": "assets@melbournewater.com.au",
  • "contactPhoneNumber": 1300123456,
  • "contactEmergencyPhone": 1300123456,
  • "organisationType": "LOCAL GOVERNMENT",
  • "contactUrl": "www.test.com",
  • "safetyMessage": "This is safety message",
  • "isDeleteLogo": true,
  • "logoId": 0
}

Response samples

Content type
application/json
{
  • "id": 456,
  • "name": "Victoria Gas",
  • "role": "ASSETOWNER",
  • "isDisabled": false,
  • "contactName": "Assets Team",
  • "contactEmail": "assets@melbournewater.com.au",
  • "contactPhoneNumber": 1300123456,
  • "contactEmergencyPhone": 1300123456,
  • "LogoImageFile": {
    },
  • "PrimaryContact": {
    },
  • "safetyMessage": "Damaging telco infrastructure poses serious risks of major community disruption and costly repairs. Please follow all attached instructions and if necessary organise prior approval/coordination. The use of a skilled locator may be required. Ensure compliance with all specified safety measures.",
  • "Tenant": {
    }
}

Lists areas if interest for organisation

Lists areas if interest for organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to list areas if interest for

query Parameters
returnGeometry
boolean
Example: returnGeometry=false

Includes geometry in response

returnEnquiryVolume
boolean
Example: returnEnquiryVolume=true

Includes volume in response (default = true)

Responses

Response samples

Content type
application/json
Example
{
  • "Info": {
    },
  • "AreasOfInterest": [
    ]
}

Update an organisation area of interest

Update an organisation area of interest

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to update

Request Body schema: application/json
Any of
type
required
string
Value: "Polygon"
coordinates
required
Array of numbers[ items >= 4 items [ items >= 2 items ] ]
bbox
Array of numbers >= 4 items

Responses

Request samples

Content type
application/json
Example
{
  • "type": "Polygon",
  • "coordinates": [
    ],
  • "bbox": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 456,
  • "organisationId": 456,
  • "shape": {
    },
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z"
}

Returns an area of interest

Returns an area of interest

Authorizations:
CognitoUserPool
path Parameters
areaOfInterestId
required
integer >= 1
Example: 456

ID of the area of interest to retrieve

organisationId
required
integer >= 1
Example: 456

ID of the organisation the area of interest to retrieve belongs to

query Parameters
returnGeometry
boolean
Example: returnGeometry=false

Includes geometry in response

Responses

Response samples

Content type
application/json
{
  • "id": 456,
  • "organisationId": 456,
  • "shape": {
    },
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z"
}

Lists referral configuration for organisation

Lists referral configuration for organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to list referral channels for

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "ReferralConfigurationChannels": [
    ]
}

Adds a referral configuration

Adds a referral configuration

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to add a referral channel for

Request Body schema: application/json
name
string
referralSummaryEmail
string
referralSummaryFrequency
string
Enum: "DAILY" "WEEKLY" "NEVER"
configurationType
string
Value: "LEGACY"
isSendingPaused
boolean
status
string
Enum: "DRAFT" "LIVE" "ARCHIVED"
maxEnquirerArea
number [ 0.1 .. 20 ]
object (LegacyEmailConfiguration)
object (WebhookConfiguration)
object (PrimaryContent)

Responses

Request samples

Content type
application/json
{
  • "name": "My referral channel",
  • "referralSummaryEmail": "dbyd.referrals@telstra.com.au,dbyd.national@telstra.com.au",
  • "referralSummaryFrequency": "NEVER",
  • "configurationType": "LEGACY",
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "LegacyEmailConfiguration": {
    },
  • "WebhookConfiguration": {
    },
  • "primaryContent": {
    }
}

Response samples

Content type
application/json
{
  • "name": "My referral channel",
  • "referralSummaryEmail": "dbyd.referrals@telstra.com.au,dbyd.national@telstra.com.au",
  • "referralSummaryFrequency": "NEVER",
  • "configurationType": "LEGACY",
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "LegacyEmailConfiguration": {
    },
  • "WebhookConfiguration": {
    },
  • "primaryContent": {
    }
}

Returns a referral configuration channel

Returns a referral configuration channel

Authorizations:
CognitoUserPool
path Parameters
channelId
required
integer >= 1
Example: 456

ID of the referral configuration channel to retrieve

organisationId
required
integer >= 1
Example: 456

ID of the organisation the channel to retrieve belongs to

Responses

Response samples

Content type
application/json
{
  • "name": "My referral channel",
  • "referralSummaryEmail": "dbyd.referrals@telstra.com.au,dbyd.national@telstra.com.au",
  • "referralSummaryFrequency": "NEVER",
  • "configurationType": "LEGACY",
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "LegacyEmailConfiguration": {
    },
  • "WebhookConfiguration": {
    },
  • "primaryContent": {
    }
}

Updates a referral channel

Updates a referral channel

Authorizations:
CognitoUserPool
path Parameters
channelId
required
integer >= 1
Example: 325

ID of the referral configuration channel to update

organisationId
required
integer >= 1
Example: 456

ID of the organisation the channel to update belongs to

Request Body schema: application/json
name
string
referralSummaryEmail
string
referralSummaryFrequency
string
Enum: "DAILY" "WEEKLY" "NEVER"
configurationType
string
Value: "LEGACY"
isSendingPaused
boolean
status
string
Enum: "DRAFT" "LIVE" "ARCHIVED"
maxEnquirerArea
number [ 0.1 .. 20 ]
object (LegacyEmailConfiguration)
object (WebhookConfiguration)
object (PrimaryContent)

Responses

Request samples

Content type
application/json
{
  • "name": "My referral channel",
  • "referralSummaryEmail": "dbyd.referrals@telstra.com.au,dbyd.national@telstra.com.au",
  • "referralSummaryFrequency": "NEVER",
  • "configurationType": "LEGACY",
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "LegacyEmailConfiguration": {
    },
  • "WebhookConfiguration": {
    },
  • "primaryContent": {
    }
}

Response samples

Content type
application/json
{
  • "name": "My referral channel",
  • "referralSummaryEmail": "dbyd.referrals@telstra.com.au,dbyd.national@telstra.com.au",
  • "referralSummaryFrequency": "NEVER",
  • "configurationType": "LEGACY",
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "LegacyEmailConfiguration": {
    },
  • "WebhookConfiguration": {
    },
  • "primaryContent": {
    }
}

Lists users belonging to an organisation

Lists users belonging to an organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to list users for

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "Users": [
    ]
}

Adds a user to an organistion

Adds a user to an organistion

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to add a user to

Request Body schema: application/json
email
string
firstName
string
lastName
string

Responses

Request samples

Content type
application/json
{
  • "email": "gary@mac.com",
  • "firstName": "Gary",
  • "lastName": "Johnson"
}

Response samples

Content type
application/json
{
  • "id": 234,
  • "username": "asdf87safd876sfd",
  • "email": "nobody@smarterwx.com",
  • "role": "SYSADMIN",
  • "firstName": "Gary",
  • "lastName": "Johnson",
  • "phoneNumber": "040012345678",
  • "preferences": { },
  • "lastLoggedInAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z",
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "isVerified": true,
  • "organisationId": 123,
  • "Address": {
    }
}

Removes a user from an organisation

Removes a user from an organisation

Authorizations:
CognitoUserPool
path Parameters
organisationId
required
integer >= 1
Example: 456

ID of the organisation to remove the user from

userId
required
integer >= 1
Example: 567

ID of the user to remove from the organisation

Responses

Search over users

Search over users

Authorizations:
CognitoUserPool
query Parameters
filter
string
Example: filter=firstName:Gary,createdAfter:2020-08-01

Filters to apply to records

limit
integer [ 1 .. 1000 ]
Example: limit=50

Max number of records to return

offset
integer >= 0
Example: offset=100

Used for paging - offset from start

include
string
Example: include=Address,Organisation

Provide list of extended properties to return

fields
string
Example: fields=firstName,lastName

List of basic properties to return (* indicates all)

order
string
Example: order=lastName,-createdAt

Sort order for results - hyphen prefix reverses order

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "Users": [
    ]
}

Get details of a user

Get details of a user

Authorizations:
CognitoUserPool
path Parameters
userId
required
integer >= 1
Example: 1

ID of the user to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 234,
  • "username": "asdf87safd876sfd",
  • "email": "nobody@smarterwx.com",
  • "alternateEmail": "nobody@smarterwx.com",
  • "role": "SYSADMIN",
  • "firstName": "Gary",
  • "lastName": "Johnson",
  • "phoneNumber": "040012345678",
  • "preferences": { },
  • "lastLoggedInAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z",
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "isVerified": true,
  • "organisationId": 123,
  • "Address": {
    },
  • "Organisation": {
    }
}

Update details of a user

Update details of a user

Authorizations:
CognitoUserPool
path Parameters
userId
required
integer >= 1
Example: 1

ID of the user to update

query Parameters
fields
string
Example: fields=preferences,firstName

List of fields wanted to update only

Request Body schema: application/json
id
integer >= 1
username
string
email
string
alternateEmail
string
role
string
Enum: "SYSADMIN" "DBYDADMIN" "AOADMIN" "AOUSER" "ENQUIRER"
firstName
string
lastName
string
phoneNumber
string
preferences
object
lastLoggedInAt
string
createdAt
string
updatedAt
string
isVerified
boolean
organisationId
integer >= 1
object (Address)
object (Organisation)

Responses

Request samples

Content type
application/json
{
  • "id": 234,
  • "username": "asdf87safd876sfd",
  • "email": "nobody@smarterwx.com",
  • "alternateEmail": "nobody@smarterwx.com",
  • "role": "SYSADMIN",
  • "firstName": "Gary",
  • "lastName": "Johnson",
  • "phoneNumber": "040012345678",
  • "preferences": { },
  • "lastLoggedInAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z",
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "isVerified": true,
  • "organisationId": 123,
  • "Address": {
    },
  • "Organisation": {
    }
}

Response samples

Content type
application/json
{
  • "id": 234,
  • "username": "asdf87safd876sfd",
  • "email": "nobody@smarterwx.com",
  • "alternateEmail": "nobody@smarterwx.com",
  • "role": "SYSADMIN",
  • "firstName": "Gary",
  • "lastName": "Johnson",
  • "phoneNumber": "040012345678",
  • "preferences": { },
  • "lastLoggedInAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z",
  • "updatedAt": "2020-08-01T03:36:00.000Z",
  • "isVerified": true,
  • "organisationId": 123,
  • "Address": {
    },
  • "Organisation": {
    }
}

Start to impersonate a user

Start to impersonate a user

Authorizations:
CognitoUserPool
path Parameters
userId
required
integer >= 1
Example: 1

ID of the user to impersonate

Responses

Response samples

Content type
application/json
{
  • "token": "asdsf897as876sdf89dds876sdf",
  • "expiry": "2020-08-01T03:36:00.000Z",
  • "User": {
    }
}

Get list of API Keys

Get list of API Keys

Authorizations:
CognitoUserPool

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "ApiKeys": [
    ]
}

Create a new API Key

Create a new API Key

Authorizations:
CognitoUserPool

Responses

Response samples

Content type
application/json
{
  • "id": 678,
  • "clientId": "FGhj76C12Aggr",
  • "clientSecret": "6C12AggrFGhj76C12AggrFGhj76C12AggrFGhj7",
  • "createdAt": "2020-08-01T03:36:00.000Z"
}

Delete an API Key

Delete an API Key

Authorizations:
CognitoUserPool
path Parameters
apiKeyId
required
integer >= 1
Example: 678

ID of the API Key to delete

Responses

Request a new token using API Key

Request a new token using API Key

Authorizations:
CognitoUserPool
Request Body schema: application/json
clientId
string
clientSecret
string

Responses

Request samples

Content type
application/json
{
  • "clientId": "6C12AggrFGhj76",
  • "clientSecret": "FGhj1a779216341966b25efecafa1c0bf83133f454d5"
}

Response samples

Content type
application/json
{
  • "access_token": "FGhj1a779216341966b25efecafa1c0bf83133f454d5fdaaf370d399e830ee8acdca185f0a72d9fc37d82679cf99",
  • "expires_in": 7200
}

Private API - select organisation for token refres

Private API - select organisation for token refresh

Authorizations:
CognitoUserPool
Request Body schema: application/json
organisationId
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "organisationId": 123
}

Return list of tenants

Return list of tenants

Authorizations:
CognitoUserPool

Responses

Response samples

Content type
application/json
{
  • "Tenants": [
    ]
}

Returns a list of authorisations

Returns a list of authorisations

Authorizations:
CognitoUserPool
query Parameters
filter
string
Example: filter=name:&test%,deleted:true

Filters to apply to records

limit
integer [ 1 .. 1000 ]
Example: limit=50

Max number of records to return

offset
integer >= 0
Example: offset=100

Used for paging - offset from start

include
string
Example: include=Users,Orders,Domains

Provide list of extended properties to return

fields
string
Example: fields=name

List of basic properties to return (* indicates all)

order
string
Example: order=name,-createdAt

Sort order for results - hyphen prefix reverses order

Responses

Response samples

Content type
application/json
{
  • "Info": {
    },
  • "Authorisations": [
    ]
}

Creates a new authorisation

Creates a new authorisation

Authorizations:
CognitoUserPool
Request Body schema: application/json
name
string [ 3 .. 100 ] characters
authorisationType
string
Enum: "CREATE_ENQUIRY" "WEB_ENQUIRY_AUTOMATION"
externalId
integer >= 1
users
Array of strings

Array for users for the authorisation

domains
Array of strings

Array for email domains for the authorisation

Array of objects (AuthorisationOrder)

Array for authorisation orders

Responses

Request samples

Content type
application/json
{
  • "name": "My new authorisation",
  • "authorisationType": "CREATE_ENQUIRY",
  • "externalId": 1,
  • "users": [
    ],
  • "domains": [
    ],
  • "orders": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 456,
  • "name": "Victoria Gas",
  • "role": "ASSETOWNER",
  • "isDisabled": false,
  • "contactName": "Assets Team",
  • "contactEmail": "assets@melbournewater.com.au",
  • "contactPhoneNumber": 1300123456,
  • "contactEmergencyPhone": 1300123456,
  • "LogoImageFile": {
    },
  • "PrimaryContact": {
    },
  • "safetyMessage": "Damaging telco infrastructure poses serious risks of major community disruption and costly repairs. Please follow all attached instructions and if necessary organise prior approval/coordination. The use of a skilled locator may be required. Ensure compliance with all specified safety measures.",
  • "Tenant": {
    }
}

Returns a authorisation

Returns a authorisation

Authorizations:
CognitoUserPool
path Parameters
authorisationId
required
integer >= 1
Example: 456

ID of the authorisation to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 234,
  • "name": "My authorisation",
  • "authorisationType": "CREATE_ENQUIRY",
  • "externalId": 1234,
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "Users": [
    ],
  • "Domains": [
    ],
  • "Orders": [
    ]
}

Deletes an authorisation

Deletes an authorisation

Authorizations:
CognitoUserPool
path Parameters
authorisationId
required
integer >= 1
Example: 456

ID of the authorisation to delete

Responses

Updates an authorisation

Updates an authorisation

Authorizations:
CognitoUserPool
path Parameters
authorisationId
required
integer >= 1
Example: 456

ID of the authorisation to update

Request Body schema: application/json
name
string [ 3 .. 100 ] characters
externalId
integer >= 1
users
Array of strings

Array for users for the authorisation

domains
Array of strings

Array for email domains for the authorisation

Responses

Request samples

Content type
application/json
{
  • "name": "My new authorisation name",
  • "externalId": 1,
  • "users": [
    ],
  • "domains": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 234,
  • "name": "My authorisation",
  • "authorisationType": "CREATE_ENQUIRY",
  • "externalId": 1234,
  • "isSendingPaused": false,
  • "status": "DRAFT",
  • "maxEnquirerArea": 8.5,
  • "Users": [
    ],
  • "Domains": [
    ],
  • "Orders": [
    ]
}

Creates a new authorisation order

Creates a new authorisation order

Authorizations:
CognitoUserPool
path Parameters
authorisationId
required
integer >= 1
Example: 456

ID of the authorisation to update

Request Body schema: application/json
reference
string
amount
integer >= 1
expiredAt
string

Responses

Request samples

Content type
application/json
{
  • "reference": "AB001",
  • "amount": 1,
  • "expiredAt": "2020-08-01T03:36:00.000Z"
}

Response samples

Content type
application/json
{
  • "id": 234,
  • "reference": "A1234",
  • "amount": 1000,
  • "expiredAt": "2020-08-01T03:36:00.000Z",
  • "createdAt": "2020-08-01T03:36:00.000Z",
  • "transactionCount": "10",
  • "status": "ACTIVE"
}

Delete a authorisation order

Delete a authorisation order

Authorizations:
CognitoUserPool
path Parameters
authorisationId
required
integer >= 1
Example: 456

ID of the authorisation to update

authorisationOrderId
required
integer >= 1
Example: 456

ID of the authorisation order to delete

Responses