Skip to the content

DoRoutes API · version 1

Settings

GET/v1/config

The business's public settings

Business details and branding, whether reCAPTCHA is on, and the site key to use with it; the job types the business offers online, in its order; and the time zone its days and times are in. Delivery is never offered online.

Response 200 · object

Done.

  • configarray of Setting, required
    • config_idinteger (int64)
    • config_keystring, required
    • config_valuestring, required
    • config_setboolean

      For a secret setting: whether it has a value. The value itself is never returned.

  • job_typesarray of PublicJobType, required
    • typestring, required

      One of: house office items parcels waste delivery

    • multiple_collectionsboolean, required
    • multiple_dropsboolean, required
    • linestring, required
    • house_bystring

      House only.

      One of: size room

    • sizesarray of object, required
      • keystring, required
      • labelstring, required
      • m3number, required
      • max_length_cminteger
      • max_width_cminteger
      • max_height_cminteger
      • max_kginteger
    • waste_kindsarray of string

      Waste only.

  • time_zonestring, required

    The IANA zone the business's days and times are in, set by the platform.

Example response 200
{
  "config": [
    {
      "config_id": 0,
      "config_key": "string",
      "config_value": "string",
      "config_set": true
    }
  ],
  "job_types": [
    {
      "type": "house",
      "multiple_collections": true,
      "multiple_drops": true,
      "line": "string",
      "house_by": "size",
      "sizes": [
        {
          "key": "string",
          "label": "string",
          "m3": 0,
          "max_length_cm": 0,
          "max_width_cm": 0,
          "max_height_cm": 0,
          "max_kg": 0
        }
      ],
      "waste_kinds": [
        "general"
      ]
    }
  ],
  "time_zone": "Europe/London"
}

Response 401 · Error

No tenant key, or no valid session.

  • errorobject, required
    • codestring, required

      A short machine-readable name, such as not_found.

    • messagestring, required

      What went wrong, for people.

  • request_idstring, required

    Matches the X-Request-ID response header.

Example response 401
{
  "error": {
    "code": "string",
    "message": "string"
  },
  "request_id": "string"
}

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

GET/v1/admin/document-fonts/{key}/preview.png

A print font drawn with the firm's name

Needs the settings.write permission. A 600 × 120 PNG: the firm's name in the font's bold, then a sample invoice line in its regular. The keys are the values document_font takes: go, liberation-sans, liberation-serif, dejavu-sans, dejavu-serif; any other is 404.

Parameters

  • keystring, in the path, required

Response 200

The preview.

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 404 · Error

Not found, or not yours.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

GET/v1/admin/pricing

The price book

Needs the pricing.write permission. Amounts are in pence. Vehicles are the active ones, by name.

Response 200 · object

Done.

  • pricingPriceBook, required

    A firm's price book. Amounts are in pence.

    • settingsPriceSettings, required
      • rate_methodstring, required

        One of: table van_plus_people

      • travelstring, required

        One of: none to_pickup both

      • oversizestring, required

        One of: by_hand vehicles trips vehicles_trips

      • road_chargesstring, required

        One of: here flat none

      • displaystring, required

        One of: fixed estimate range

      • breakdownboolean, required
      • range_percentnumber, required
      • min_hoursnumber, required
      • rounding_minutesinteger, required

        One of: 15 30 60

      • booking_feeinteger (int64), required
      • min_margin_percentnumber or null, required
      • fixed_radius_milesnumber, required
      • kg_per_m3number, required
      • rubble_kg_per_m3number, required

        The weight of a load of rubble and soil.

      • min_crewinteger, required
      • crew_rulesarray of object, required
        • above_m3number, required
        • crewinteger, required
      • large_crewinteger, required
      • floor_surchargeinteger (int64), required
      • heavy_surchargeinteger (int64), required
      • heavy_onceboolean, required
      • fragile_surchargeinteger (int64), required
      • fragile_onceboolean, required
      • early_beforestring, required

        HH:MM in the business's time zone, or empty.

      • late_afterstring, required

        HH:MM in the business's time zone, or empty.

    • methodsobject, required

      The price method of each job type.

    • vehiclesarray of VehiclePrices, required
      • vehicle_idinteger (int64), required
      • namestring

        Read only.

      • confirmedboolean

        Read only.

      • hourlyarray of object, required

        The hourly rate for each crew size, under table rates.

        • crewinteger, required
        • hourlyinteger (int64), required
      • van_hourlyinteger (int64) or null, required

        The vehicle with its driver, under van_plus_people rates.

      • extra_person_hourlyinteger (int64), required
      • per_mileinteger (int64), required
    • size_pricesarray of object, required

      The fixed price of each priced size.

      • typestring, required

        One of: house office items parcels waste delivery

      • sizestring, required
      • penceinteger (int64), required
    • fullnessarray of object, required
      • fullnessstring, required

        One of: light average packed

      • factornumber, required
    • adjustmentsarray of object, required
      • kindstring, required

        One of: saturday sunday bank_holiday early late peak midweek

      • percentnumber, required

        From -50 to 200.

    • peak_datesarray of object, required
      • datestring (date), required
      • labelstring, required
    • zonesarray of object, required
      • zonestring, required
      • penceinteger (int64), required
    • extrasarray of PriceExtra, required
      • idinteger (int64)

        Absent for a new extra.

      • namestring, required
      • penceinteger (int64), required
      • unitstring, required

        One of: fixed item unit hour week

      • onlineboolean, required

        Offered on the website. Hourly extras are for staff only.

      • positioninteger, required
Example response 200
{
  "pricing": {
    "settings": {
      "rate_method": "table",
      "travel": "none",
      "oversize": "by_hand",
      "road_charges": "here",
      "display": "fixed",
      "breakdown": true,
      "range_percent": 0,
      "min_hours": 0,
      "rounding_minutes": 15,
      "booking_fee": 0,
      "min_margin_percent": 0,
      "fixed_radius_miles": 0,
      "kg_per_m3": 0,
      "rubble_kg_per_m3": 0,
      "min_crew": 0,
      "crew_rules": [
        {
          "above_m3": 0,
          "crew": 0
        }
      ],
      "large_crew": 0,
      "floor_surcharge": 0,
      "heavy_surcharge": 0,
      "heavy_once": true,
      "fragile_surcharge": 0,
      "fragile_once": true,
      "early_before": "string",
      "late_after": "string"
    },
    "methods": {},
    "vehicles": [
      {
        "vehicle_id": 0,
        "name": "string",
        "confirmed": true,
        "hourly": [
          {
            "crew": 0,
            "hourly": 0
          }
        ],
        "van_hourly": 0,
        "extra_person_hourly": 0,
        "per_mile": 0
      }
    ],
    "size_prices": [
      {
        "type": "house",
        "size": "string",
        "pence": 0
      }
    ],
    "fullness": [
      {
        "fullness": "light",
        "factor": 0
      }
    ],
    "adjustments": [
      {
        "kind": "saturday",
        "percent": 0
      }
    ],
    "peak_dates": [
      {
        "date": "date",
        "label": "string"
      }
    ],
    "zones": [
      {
        "zone": "string",
        "pence": 0
      }
    ],
    "extras": [
      {
        "id": 0,
        "name": "string",
        "pence": 0,
        "unit": "fixed",
        "online": true,
        "position": 0
      }
    ]
  }
}

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

PUT/v1/admin/pricing

Replace the price book

Needs the pricing.write permission. Replaces the whole book; nothing changes if any part is refused, and the error names every problem. A confirmed vehicle needs a rate for each crew size the rules can give (a rate with its driver under van_plus_people). Every job type needs a method it allows, and a type priced fixed needs a price for each of its active sizes. Extras left out are retired; an extra without an id is added. A vehicle or extra the firm doesn't have is 404.

Request body · object

  • pricingPriceBook, required

    A firm's price book. Amounts are in pence.

    • settingsPriceSettings, required
      • rate_methodstring, required

        One of: table van_plus_people

      • travelstring, required

        One of: none to_pickup both

      • oversizestring, required

        One of: by_hand vehicles trips vehicles_trips

      • road_chargesstring, required

        One of: here flat none

      • displaystring, required

        One of: fixed estimate range

      • breakdownboolean, required
      • range_percentnumber, required
      • min_hoursnumber, required
      • rounding_minutesinteger, required

        One of: 15 30 60

      • booking_feeinteger (int64), required
      • min_margin_percentnumber or null, required
      • fixed_radius_milesnumber, required
      • kg_per_m3number, required
      • rubble_kg_per_m3number, required

        The weight of a load of rubble and soil.

      • min_crewinteger, required
      • crew_rulesarray of object, required
        • above_m3number, required
        • crewinteger, required
      • large_crewinteger, required
      • floor_surchargeinteger (int64), required
      • heavy_surchargeinteger (int64), required
      • heavy_onceboolean, required
      • fragile_surchargeinteger (int64), required
      • fragile_onceboolean, required
      • early_beforestring, required

        HH:MM in the business's time zone, or empty.

      • late_afterstring, required

        HH:MM in the business's time zone, or empty.

    • methodsobject, required

      The price method of each job type.

    • vehiclesarray of VehiclePrices, required
      • vehicle_idinteger (int64), required
      • namestring

        Read only.

      • confirmedboolean

        Read only.

      • hourlyarray of object, required

        The hourly rate for each crew size, under table rates.

        • crewinteger, required
        • hourlyinteger (int64), required
      • van_hourlyinteger (int64) or null, required

        The vehicle with its driver, under van_plus_people rates.

      • extra_person_hourlyinteger (int64), required
      • per_mileinteger (int64), required
    • size_pricesarray of object, required

      The fixed price of each priced size.

      • typestring, required

        One of: house office items parcels waste delivery

      • sizestring, required
      • penceinteger (int64), required
    • fullnessarray of object, required
      • fullnessstring, required

        One of: light average packed

      • factornumber, required
    • adjustmentsarray of object, required
      • kindstring, required

        One of: saturday sunday bank_holiday early late peak midweek

      • percentnumber, required

        From -50 to 200.

    • peak_datesarray of object, required
      • datestring (date), required
      • labelstring, required
    • zonesarray of object, required
      • zonestring, required
      • penceinteger (int64), required
    • extrasarray of PriceExtra, required
      • idinteger (int64)

        Absent for a new extra.

      • namestring, required
      • penceinteger (int64), required
      • unitstring, required

        One of: fixed item unit hour week

      • onlineboolean, required

        Offered on the website. Hourly extras are for staff only.

      • positioninteger, required
Example request
{
  "pricing": {
    "settings": {
      "rate_method": "table",
      "travel": "none",
      "oversize": "by_hand",
      "road_charges": "here",
      "display": "fixed",
      "breakdown": true,
      "range_percent": 0,
      "min_hours": 0,
      "rounding_minutes": 15,
      "booking_fee": 0,
      "min_margin_percent": 0,
      "fixed_radius_miles": 0,
      "kg_per_m3": 0,
      "rubble_kg_per_m3": 0,
      "min_crew": 0,
      "crew_rules": [
        {
          "above_m3": 0,
          "crew": 0
        }
      ],
      "large_crew": 0,
      "floor_surcharge": 0,
      "heavy_surcharge": 0,
      "heavy_once": true,
      "fragile_surcharge": 0,
      "fragile_once": true,
      "early_before": "string",
      "late_after": "string"
    },
    "methods": {},
    "vehicles": [
      {
        "vehicle_id": 0,
        "name": "string",
        "confirmed": true,
        "hourly": [
          {
            "crew": 0,
            "hourly": 0
          }
        ],
        "van_hourly": 0,
        "extra_person_hourly": 0,
        "per_mile": 0
      }
    ],
    "size_prices": [
      {
        "type": "house",
        "size": "string",
        "pence": 0
      }
    ],
    "fullness": [
      {
        "fullness": "light",
        "factor": 0
      }
    ],
    "adjustments": [
      {
        "kind": "saturday",
        "percent": 0
      }
    ],
    "peak_dates": [
      {
        "date": "date",
        "label": "string"
      }
    ],
    "zones": [
      {
        "zone": "string",
        "pence": 0
      }
    ],
    "extras": [
      {
        "id": 0,
        "name": "string",
        "pence": 0,
        "unit": "fixed",
        "online": true,
        "position": 0
      }
    ]
  }
}

Response 200 · object

The stored book.

  • pricingPriceBook, required

    A firm's price book. Amounts are in pence.

    • settingsPriceSettings, required
      • rate_methodstring, required

        One of: table van_plus_people

      • travelstring, required

        One of: none to_pickup both

      • oversizestring, required

        One of: by_hand vehicles trips vehicles_trips

      • road_chargesstring, required

        One of: here flat none

      • displaystring, required

        One of: fixed estimate range

      • breakdownboolean, required
      • range_percentnumber, required
      • min_hoursnumber, required
      • rounding_minutesinteger, required

        One of: 15 30 60

      • booking_feeinteger (int64), required
      • min_margin_percentnumber or null, required
      • fixed_radius_milesnumber, required
      • kg_per_m3number, required
      • rubble_kg_per_m3number, required

        The weight of a load of rubble and soil.

      • min_crewinteger, required
      • crew_rulesarray of object, required
        • above_m3number, required
        • crewinteger, required
      • large_crewinteger, required
      • floor_surchargeinteger (int64), required
      • heavy_surchargeinteger (int64), required
      • heavy_onceboolean, required
      • fragile_surchargeinteger (int64), required
      • fragile_onceboolean, required
      • early_beforestring, required

        HH:MM in the business's time zone, or empty.

      • late_afterstring, required

        HH:MM in the business's time zone, or empty.

    • methodsobject, required

      The price method of each job type.

    • vehiclesarray of VehiclePrices, required
      • vehicle_idinteger (int64), required
      • namestring

        Read only.

      • confirmedboolean

        Read only.

      • hourlyarray of object, required

        The hourly rate for each crew size, under table rates.

        • crewinteger, required
        • hourlyinteger (int64), required
      • van_hourlyinteger (int64) or null, required

        The vehicle with its driver, under van_plus_people rates.

      • extra_person_hourlyinteger (int64), required
      • per_mileinteger (int64), required
    • size_pricesarray of object, required

      The fixed price of each priced size.

      • typestring, required

        One of: house office items parcels waste delivery

      • sizestring, required
      • penceinteger (int64), required
    • fullnessarray of object, required
      • fullnessstring, required

        One of: light average packed

      • factornumber, required
    • adjustmentsarray of object, required
      • kindstring, required

        One of: saturday sunday bank_holiday early late peak midweek

      • percentnumber, required

        From -50 to 200.

    • peak_datesarray of object, required
      • datestring (date), required
      • labelstring, required
    • zonesarray of object, required
      • zonestring, required
      • penceinteger (int64), required
    • extrasarray of PriceExtra, required
      • idinteger (int64)

        Absent for a new extra.

      • namestring, required
      • penceinteger (int64), required
      • unitstring, required

        One of: fixed item unit hour week

      • onlineboolean, required

        Offered on the website. Hourly extras are for staff only.

      • positioninteger, required
Example response 200
{
  "pricing": {
    "settings": {
      "rate_method": "table",
      "travel": "none",
      "oversize": "by_hand",
      "road_charges": "here",
      "display": "fixed",
      "breakdown": true,
      "range_percent": 0,
      "min_hours": 0,
      "rounding_minutes": 15,
      "booking_fee": 0,
      "min_margin_percent": 0,
      "fixed_radius_miles": 0,
      "kg_per_m3": 0,
      "rubble_kg_per_m3": 0,
      "min_crew": 0,
      "crew_rules": [
        {
          "above_m3": 0,
          "crew": 0
        }
      ],
      "large_crew": 0,
      "floor_surcharge": 0,
      "heavy_surcharge": 0,
      "heavy_once": true,
      "fragile_surcharge": 0,
      "fragile_once": true,
      "early_before": "string",
      "late_after": "string"
    },
    "methods": {},
    "vehicles": [
      {
        "vehicle_id": 0,
        "name": "string",
        "confirmed": true,
        "hourly": [
          {
            "crew": 0,
            "hourly": 0
          }
        ],
        "van_hourly": 0,
        "extra_person_hourly": 0,
        "per_mile": 0
      }
    ],
    "size_prices": [
      {
        "type": "house",
        "size": "string",
        "pence": 0
      }
    ],
    "fullness": [
      {
        "fullness": "light",
        "factor": 0
      }
    ],
    "adjustments": [
      {
        "kind": "saturday",
        "percent": 0
      }
    ],
    "peak_dates": [
      {
        "date": "date",
        "label": "string"
      }
    ],
    "zones": [
      {
        "zone": "string",
        "pence": 0
      }
    ],
    "extras": [
      {
        "id": 0,
        "name": "string",
        "pence": 0,
        "unit": "fixed",
        "online": true,
        "position": 0
      }
    ]
  }
}

Response 400 · Error

The request is not valid.

Fields as in The business's public settings

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 404 · Error

Not found, or not yours.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

GET/v1/admin/job-types

The job types

Needs the job_types.write permission. The types with their switches, the sizes, the waste kinds taken and the active disposal sites.

Response 200 · object

Done.

  • job_typesJobTypes, required

    The kinds of work a firm takes.

    • typesarray of object, required
      • typestring, required

        One of: house office items parcels waste delivery

      • onboolean, required
      • onlineboolean, required
      • multiple_collectionsboolean, required
      • multiple_dropsboolean, required
      • linestring, required

        Up to 200 characters, shown on the website.

      • positioninteger, required
      • house_bystring, required

        How a house move is described; empty for other types.

        One of: size room

    • sizesarray of JobSize, required
      • typestring, required

        One of: house parcels waste delivery

      • keystring, required
      • labelstring, required
      • positioninteger, required
      • m3number, required
      • max_length_cminteger or null, required
      • max_width_cminteger or null, required
      • max_height_cminteger or null, required
      • max_kginteger or null, required
      • activeboolean, required
    • waste_kindsarray of string, required
    • disposal_sitesarray of DisposalSite, required
      • idinteger (int64)

        Left out for a new site.

      • namestring, required
      • house_numberinteger
      • house_namestring
      • streetstring, required
      • townstring, required
      • citystring
      • countystring
      • postcodestring, required
      • latitudenumber

        Read only.

      • longitudenumber

        Read only.

      • match_levelstring

        Read only.

        One of: house street postcode manual

      • needs_checkboolean

        Read only.

      • pinobject

        Places the site here when given.

        • latitudenumber, required
        • longitudenumber, required
      • hoursobject

        Opening hours by weekday (mon to sun); a day left out is closed.

      • gate_fee_penceinteger (int64)
      • kindsarray of string, required
Example response 200
{
  "job_types": {
    "types": [
      {
        "type": "house",
        "on": true,
        "online": true,
        "multiple_collections": true,
        "multiple_drops": true,
        "line": "string",
        "position": 0,
        "house_by": ""
      }
    ],
    "sizes": [
      {
        "type": "house",
        "key": "string",
        "label": "string",
        "position": 0,
        "m3": 0,
        "max_length_cm": 0,
        "max_width_cm": 0,
        "max_height_cm": 0,
        "max_kg": 0,
        "active": true
      }
    ],
    "waste_kinds": [
      "general"
    ],
    "disposal_sites": [
      {
        "id": 0,
        "name": "string",
        "house_number": 0,
        "house_name": "string",
        "street": "string",
        "town": "string",
        "city": "string",
        "county": "string",
        "postcode": "string",
        "latitude": 0,
        "longitude": 0,
        "match_level": "house",
        "needs_check": true,
        "pin": {
          "latitude": 0,
          "longitude": 0
        },
        "hours": {},
        "gate_fee_pence": 0,
        "kinds": [
          "general"
        ]
      }
    ]
  }
}

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

PUT/v1/admin/job-types

Replace the job types

Needs the job_types.write permission. Replaces the whole document; nothing changes if any part is refused, and the error names every problem. Every type is listed once; delivery can't be online. Sizes are replaced whole. Disposal sites left out are retired; a site without an id is added and placed where its address is found, or at its pin. A site the firm doesn't have is 404.

Request body · object

  • job_typesJobTypes, required

    The kinds of work a firm takes.

    • typesarray of object, required
      • typestring, required

        One of: house office items parcels waste delivery

      • onboolean, required
      • onlineboolean, required
      • multiple_collectionsboolean, required
      • multiple_dropsboolean, required
      • linestring, required

        Up to 200 characters, shown on the website.

      • positioninteger, required
      • house_bystring, required

        How a house move is described; empty for other types.

        One of: size room

    • sizesarray of JobSize, required
      • typestring, required

        One of: house parcels waste delivery

      • keystring, required
      • labelstring, required
      • positioninteger, required
      • m3number, required
      • max_length_cminteger or null, required
      • max_width_cminteger or null, required
      • max_height_cminteger or null, required
      • max_kginteger or null, required
      • activeboolean, required
    • waste_kindsarray of string, required
    • disposal_sitesarray of DisposalSite, required
      • idinteger (int64)

        Left out for a new site.

      • namestring, required
      • house_numberinteger
      • house_namestring
      • streetstring, required
      • townstring, required
      • citystring
      • countystring
      • postcodestring, required
      • latitudenumber

        Read only.

      • longitudenumber

        Read only.

      • match_levelstring

        Read only.

        One of: house street postcode manual

      • needs_checkboolean

        Read only.

      • pinobject

        Places the site here when given.

        • latitudenumber, required
        • longitudenumber, required
      • hoursobject

        Opening hours by weekday (mon to sun); a day left out is closed.

      • gate_fee_penceinteger (int64)
      • kindsarray of string, required
Example request
{
  "job_types": {
    "types": [
      {
        "type": "house",
        "on": true,
        "online": true,
        "multiple_collections": true,
        "multiple_drops": true,
        "line": "string",
        "position": 0,
        "house_by": ""
      }
    ],
    "sizes": [
      {
        "type": "house",
        "key": "string",
        "label": "string",
        "position": 0,
        "m3": 0,
        "max_length_cm": 0,
        "max_width_cm": 0,
        "max_height_cm": 0,
        "max_kg": 0,
        "active": true
      }
    ],
    "waste_kinds": [
      "general"
    ],
    "disposal_sites": [
      {
        "id": 0,
        "name": "string",
        "house_number": 0,
        "house_name": "string",
        "street": "string",
        "town": "string",
        "city": "string",
        "county": "string",
        "postcode": "string",
        "latitude": 0,
        "longitude": 0,
        "match_level": "house",
        "needs_check": true,
        "pin": {
          "latitude": 0,
          "longitude": 0
        },
        "hours": {},
        "gate_fee_pence": 0,
        "kinds": [
          "general"
        ]
      }
    ]
  }
}

Response 200 · object

The stored document.

  • job_typesJobTypes, required

    The kinds of work a firm takes.

    • typesarray of object, required
      • typestring, required

        One of: house office items parcels waste delivery

      • onboolean, required
      • onlineboolean, required
      • multiple_collectionsboolean, required
      • multiple_dropsboolean, required
      • linestring, required

        Up to 200 characters, shown on the website.

      • positioninteger, required
      • house_bystring, required

        How a house move is described; empty for other types.

        One of: size room

    • sizesarray of JobSize, required
      • typestring, required

        One of: house parcels waste delivery

      • keystring, required
      • labelstring, required
      • positioninteger, required
      • m3number, required
      • max_length_cminteger or null, required
      • max_width_cminteger or null, required
      • max_height_cminteger or null, required
      • max_kginteger or null, required
      • activeboolean, required
    • waste_kindsarray of string, required
    • disposal_sitesarray of DisposalSite, required
      • idinteger (int64)

        Left out for a new site.

      • namestring, required
      • house_numberinteger
      • house_namestring
      • streetstring, required
      • townstring, required
      • citystring
      • countystring
      • postcodestring, required
      • latitudenumber

        Read only.

      • longitudenumber

        Read only.

      • match_levelstring

        Read only.

        One of: house street postcode manual

      • needs_checkboolean

        Read only.

      • pinobject

        Places the site here when given.

        • latitudenumber, required
        • longitudenumber, required
      • hoursobject

        Opening hours by weekday (mon to sun); a day left out is closed.

      • gate_fee_penceinteger (int64)
      • kindsarray of string, required
Example response 200
{
  "job_types": {
    "types": [
      {
        "type": "house",
        "on": true,
        "online": true,
        "multiple_collections": true,
        "multiple_drops": true,
        "line": "string",
        "position": 0,
        "house_by": ""
      }
    ],
    "sizes": [
      {
        "type": "house",
        "key": "string",
        "label": "string",
        "position": 0,
        "m3": 0,
        "max_length_cm": 0,
        "max_width_cm": 0,
        "max_height_cm": 0,
        "max_kg": 0,
        "active": true
      }
    ],
    "waste_kinds": [
      "general"
    ],
    "disposal_sites": [
      {
        "id": 0,
        "name": "string",
        "house_number": 0,
        "house_name": "string",
        "street": "string",
        "town": "string",
        "city": "string",
        "county": "string",
        "postcode": "string",
        "latitude": 0,
        "longitude": 0,
        "match_level": "house",
        "needs_check": true,
        "pin": {
          "latitude": 0,
          "longitude": 0
        },
        "hours": {},
        "gate_fee_pence": 0,
        "kinds": [
          "general"
        ]
      }
    ]
  }
}

Response 400 · Error

The request is not valid.

Fields as in The business's public settings

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 404 · Error

Not found, or not yours.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

GET/v1/admin/disposal-sites/suggest

Disposal sites near the yards

Needs the job_types.write permission. Recycling centres and tips from HERE near each of the firm's yards, each once, nearest its nearest yard first, leaving out the firm's own sites (same name and postcode). One HERE search a yard, counted as an address suggestion; when the business's suggestions are used up the list is empty and available false.

Response 200 · object

Done.

  • suggestionsarray of SiteSuggestion, required
    • namestring
    • house_numberinteger
    • house_namestring
    • streetstring

      Empty when HERE has none.

    • townstring
    • citystring
    • countystring
    • postcodestring
    • latitudenumber
    • longitudenumber
    • match_levelstring
    • yard_idinteger (int64)

      The yard it is nearest.

    • distance_minteger

      Metres from that yard in a straight line.

  • availableboolean, required
Example response 200
{
  "suggestions": [
    {
      "name": "string",
      "house_number": 0,
      "house_name": "string",
      "street": "string",
      "town": "string",
      "city": "string",
      "county": "string",
      "postcode": "string",
      "latitude": 0,
      "longitude": 0,
      "match_level": "string",
      "yard_id": 0,
      "distance_m": 0
    }
  ],
  "available": true
}

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

GET/v1/admin/config

Every setting

Needs the settings.write permission.

Response 200 · object

Done.

  • configarray of Setting, required
    • config_idinteger (int64)
    • config_keystring, required
    • config_valuestring, required
    • config_setboolean

      For a secret setting: whether it has a value. The value itself is never returned.

Example response 200
{
  "config": [
    {
      "config_id": 0,
      "config_key": "string",
      "config_value": "string",
      "config_set": true
    }
  ]
}

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings

PUT/v1/admin/config

Change settings

Needs the settings.write permission.

Request body · object

  • configobject, required

    Setting keys and their new values. If any value is refused, none is changed. An empty value clears a secret setting.

Example request
{
  "config": {}
}

Response 200 · object

Done.

  • configarray of Setting, required
    • config_idinteger (int64)
    • config_keystring, required
    • config_valuestring, required
    • config_setboolean

      For a secret setting: whether it has a value. The value itself is never returned.

Example response 200
{
  "config": [
    {
      "config_id": 0,
      "config_key": "string",
      "config_value": "string",
      "config_set": true
    }
  ]
}

Response 400 · Error

The request is not valid.

Fields as in The business's public settings

Response 401 · Error

No tenant key, or no valid session.

Fields as in The business's public settings

Response 403 · Error

The session may not do this.

Fields as in The business's public settings

Response 404 · Error

Not found, or not yours.

Fields as in The business's public settings

Response 409 · Error

It clashes with what is stored.

Fields as in The business's public settings

Response 500 · Error

Something failed on our side.

Fields as in The business's public settings