Bulk Import (Sync) — QR Code Addresses

Bulk Import (Sync) — QR Code Addresses

POST /api/qrcodes/bulk-import

Import QR code addresses in bulk by sending a JSON array. This endpoint processes synchronously and returns counts of inserted, restored, and skipped records. Each item in the array represents one QR code address to create.

Request Body

Send a JSON array of objects with the following fields:

ParameterTypeRequiredDescription
locationstringYesLocation where the QR code is placed
organization_uuidstringYesUUID of the organization
latitudefloatNoLatitude coordinate (auto-resolved if omitted)
longitudefloatNoLongitude coordinate (auto-resolved if omitted)
typestringYesType: SITE or CLIENT_HOME
namestringNoName or label for the QR code address
qr_code_namestringYesClient name (or client-facing label) printed/associated with the QR code
qr_code_external_reference_idstringYesUnique client identifier within your system

Example

json
[
  {
    "location": "123 Main Street, Melbourne VIC 3000",
    "organization_uuid": "XYZ789UVW123RST456MNOP",
    "type": "SITE",
    "name": "Main Office",
    "qr_code_name": "Front Door QR",
    "qr_code_external_reference_id": "ref-001"
  }
]

See Errors & Rate Limits for the common error contract used across the API.

Error Codes

StatusMeaning
400Bad Request — validation error or duplicate locations
401Unauthorized
403Access Denied or subscription required
500Internal Server Error

Example Request

curl
curl -X POST http://staging.didyougo.com.au/api/qrcodes/bulk-import \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key:your_api_secret" \
  -d '[
    {
      "location": "123 Main Street, Melbourne VIC 3000",
      "organization_uuid": "org-uuid-here",
      "type": "SITE",
      "name": "Main Office",
      "qr_code_name": "Front Door QR",
      "qr_code_external_reference_id": "ref-001"
    },
    {
      "location": "456 Queen Street, Sydney NSW 2000",
      "organization_uuid": "org-uuid-here",
      "type": "SITE",
      "name": "Branch Office",
      "qr_code_name": "Back Door QR",
      "qr_code_external_reference_id": "ref-002"
    }
  ]'

Try It

Try it

Requests are sent without cookies — you must provide a valid Bearer <api_key>:<api_secret> header.

API Response
Click the Send API Request button above and see the response here!

Example Response 201 Created

json
{
  "qr_code_inserted": [
    {
      "uuid": "ABC123DEF456GHI789JKLM",
      "location": "123 Main Street, Melbourne VIC 3000",
      "latitude": -37.8136,
      "longitude": 144.9631,
      "organization_uuid": "XYZ789UVW123RST456MNOP",
      "status": "ACTIVE",
      "type": "SITE",
      "name": "Main Office",
      "deleted": false,
      "created_on": "2025-01-15T10:30:00Z",
      "updated_on": "2025-01-15T10:30:00Z",
      "deleted_on": null
    },
    {
      "uuid": "DEF789GHI012JKL345MNOP",
      "location": "456 Queen Street, Sydney NSW 2000",
      "latitude": -33.8688,
      "longitude": 151.2093,
      "organization_uuid": "XYZ789UVW123RST456MNOP",
      "status": "ACTIVE",
      "type": "SITE",
      "name": "Branch Office",
      "deleted": false,
      "created_on": "2025-01-15T10:30:00Z",
      "updated_on": "2025-01-15T10:30:00Z",
      "deleted_on": null
    }
  ],
  "qr_code_restored": [],
  "qr_code_tags_created": [
    {
      "qr_code_uuid": "ABC123DEF456GHI789JKLM",
      "tag_display_name": "Front Door QR #ref-001",
      "tag_name": "Front Door QR",
      "tag_number": "ref-001",
      "status": "ACTIVE",
      "type": "CLIENT",
      "deleted": false
    },
    {
      "qr_code_uuid": "DEF789GHI012JKL345MNOP",
      "tag_display_name": "Back Door QR #ref-002",
      "tag_name": "Back Door QR",
      "tag_number": "ref-002",
      "status": "ACTIVE",
      "type": "CLIENT",
      "deleted": false
    }
  ],
  "excluded_qr_codes": []
}