Skip to main content

API (V3) Documentation

Learn more about snap Send Solve's API

Updated over a week ago

Introduction

This document describes the API (V3) for the Snap Send Solve integration service, which allows responsible organisations to retrieve and update incident reports.

The full specifications and details of all current APIs can be found on SwaggerHub at SnapSendSolve Integration v2.

Overview

Snap Send Solve is a powerful platform that enables users to report issues such as potholes, graffiti and damaged infrastructure directly to local authorities and service providers. With the added benefit of API integration, Snap Send Solve can seamlessly connect with your organisation’s case management system, streamlining the reporting process and ensuring that issues are addressed promptly and efficiently.

Authentication

Snap Send Solve integration APIs use API key authentication to authorise requests. Follow the steps below to authenticate your API requests:

Obtaining API Credentials

To access the APIs, you need an API key and an authorityId . These credentials can be obtained by logging in to the Snap Send Solve portal as an admin user and clicking on the Authority menu on the left-hand side.

Authority details screen in the Snap Send Solve admin portal

Using the API Key

The API key must be included in the HTTP request header for all API calls. Add the API key to the Authorization header as shown below: Authorization: <your-api-key>

List of APIs

Snap Send Solve provides various API endpoints for managing incident reports.

Overview of API Endpoints

  • Get a List of Reports

    • Endpoint: /v3/reports

    • Method: GET

    • Description: Retrieves a list of incident reports for a specific authority. The only mandatory parameter is the authorityId.

  • Get Report Details

    • Endpoint: /v3/reports/{reportId}

    • Method: GET

    • Description: Fetches detailed information for a single report by its ID.

  • Update a Report

    • Endpoint: /v3/reports/{reportId}

    • Method: POST

    • Description: Updates the status, stage, or other details of a specific report.

  • Get Incident Types

    • Endpoint: /v3/incidentTypes

    • Method: GET

    • Description: Returns a list of all active incident types available for reporting.

  • Get Triage Authorities

    • Endpoint: /v3/reports/{reportId}/triage/authorities

    • Method: GET

    • Description: Lists authorities available for triaging a report.

  • Triage a Report

    • Endpoint: /v3/reports/{reportId}/triage

    • Method: POST

    • Description: Triages a report to another authority

What's new in V3

Enhanced Report Status Filtering

Multiple Status Support

The V3 API now supports filtering by multiple report statuses simultaneously:

// V2 API - Single status only - returns all Open reports
GET /v2/reports?status=Open

// V3 API - Multiple statuses supported - returns all Open and all Viewed // reports
GET /v3/reports?status=Open&status=Viewed

StatusForSnapper Parameter

A new filtering parameter statusForSnapper has been introduced to filter reports based on Snapper-specific status values:

  • Supported Values: Solved, Unsolved, Cancelled, Closed, Nudged

  • Can be used alone or in combination with regular status filtering

  • Supports both single and multiple values

// Filter by Snapper status
GET /v3/reports?statusForSnapper=Solved

// Combine regular status and Snapper status
GET /v3/reports?status=Open&statusForSnapper=Unsolved

ExcludeStatusForSnapper Parameter

A new exclusion filtering parameter excludeStatusForSnapper has been introduced to exclude reports with specific Snapper status values:

  • Supported Values: Solved, Unsolved, Cancelled, Closed, Nudged

  • Can be used alone or in combination with regular status filtering

  • Supports both single and multiple values

  • IMPORTANT: Should NOT be used together with statusForSnapper parameter. Use one or the other, not both simultaneously

// Exclude specific Snapper statuses
GET /v3/reports?excludeStatusForSnapper=Solved&excludeStatusForSnapper=Cancelled

// Get all Open reports except those marked as Solved by Snapper
GET /v3/reports?status=Open&excludeStatusForSnapper=Solved

// Get reports excluding multiple Snapper statuses
GET /v3/reports?excludeStatusForSnapper=Solved&excludeStatusForSnapper=Cancelled&excludeStatusForSnapper=Closed

Usage Note: The excludeStatusForSnapper parameter is mutually exclusive with statusForSnapper. Using both parameters in the same request may lead to unexpected results or empty response sets. Choose either inclusion filtering (statusForSnapper) or exclusion filtering (excludeStatusForSnapper) based on your use case.

Improved Status Handling in V3

The report status now reflects whether a report is in the Viewed status. Previous (V2) behaviour would show all New and Viewed reports as having the Open status. Now Open reports are specifially New reports that have not been viewed.

Important Information

Detailed Specifications: SwaggerHub documentation for each API endpoint includes information on required and optional parameters, request and response schema, and example requests and responses.

Authentication: Ensure that all API requests include the appropriate Authorization header with the API key.

Error Handling: APIs return standard HTTP status codes to indicate success or failure, along with detailed error messages when applicable.


Need more help? Get support from our team by emailing us at contact@snapsendsolve.com or sending us a message.

Did this answer your question?