API/Endpoints: Models: Difference between revisions

From wiki
Created page with "= Endpoints = This page documents key Verofy API endpoints and usage patterns. __TOC__ == Projects == === Map Project (map-project) === A Map Project groups multiple mapping elements, such as segments, sites, and access points. ==== Fields ==== {| class="wikitable" ! Field !! Type !! Description |- | id || int || Unique identifier |- | name || string || Project name |- | description || string || Detailed project description |- | status || string || Project status (e..."
 
(No difference)

Revision as of 19:43, 16 October 2025

Endpoints

This page documents key Verofy API endpoints and usage patterns.

Projects

Map Project (map-project)

A Map Project groups multiple mapping elements, such as segments, sites, and access points.

Fields

Field Type Description
id int Unique identifier
name string Project name
description string Detailed project description
status string Project status (e.g., active, completed, archived)
created_at datetime Creation timestamp
updated_at datetime Last update timestamp

Endpoints for Projects

Read (VIEW)
GET {api_url}/{version}/map-project/{id}
Create
POST {api_url}/{version}/map-project
Update
PATCH {api_url}/{version}/map-project/{id}
Upload Document
POST {api_url}/{version}/map-document/upload
Download Document
GET {api_url}/{version}/map-document/download/{id}

Project Permissions

Permissions can be managed at the project level to restrict or allow access to users.

Check user access to a project
GET {api_url}/{version}/map-project/permission/{mapProjectId}
Bookmark a project for quick access
POST {api_url}/{version}/map-project/bookmark/{mapProjectId}

Miscellaneous Actions

Additional operations related to Map Projects that provide extended functionality.

Check User Permissions

Retrieve the access permissions for a specific project.

GET {api_url}/{version}/map-project/permission/{mapProjectId}

Example:

GET https://api.veronetworks.com/v1/map-project/permission/12345
Bookmark a Project

Mark a project for quick access.

POST {api_url}/{version}/map-project/bookmark/{mapProjectId}

Example:

POST https://api.veronetworks.com/v1/map-project/bookmark/12345

Models

The Verofy API is RESTful. Most actions are addressed as:

<api_url>/<version>/<model>/<id>

Where:

  • <api_url> is the base URL (e.g., https://api.veronetworks.com)
  • <version> is the API version (e.g., v1)
  • <model> is the object type (e.g., map-segment)
  • <id> is the object id (when a specific record is required)

Action Types

The following actions are supported:

Read
Method: GET
Endpoint: {api_url}/{version}/{model}/{id}
Create
Method: POST
Endpoint: {api_url}/{version}/{model}
Update
Method: PATCH
Endpoint: {api_url}/{version}/{model}/{id}

Modules and Endpoints

Map Access Point

Read
GET {api_url}/{version}/map-access-points/{id}
Read All
GET {api_url}/{version}/map-access-points
Create
POST {api_url}/{version}/map-access-points
Update
PATCH {api_url}/{version}/map-access-points/{id}

Map Cable

Read
GET {api_url}/{version}/map-cables/{id}
Read All
GET {api_url}/{version}/map-cables
Create
POST {api_url}/{version}/map-cables
Update
PATCH {api_url}/{version}/map-cables/{id}

Map Document

Read
GET {api_url}/{version}/map-documents/{id}
Read All
GET {api_url}/{version}/map-documents
Create
POST {api_url}/{version}/map-documents
Update
PATCH {api_url}/{version}/map-documents/{id}

Map Element

Read
GET {api_url}/{version}/map-elements/{id}
Read All
GET {api_url}/{version}/map-elements
Create
POST {api_url}/{version}/map-elements
Update
PATCH {api_url}/{version}/map-elements/{id}

Map Info Object

Read
GET {api_url}/{version}/map-info-objects/{id}
Read All
GET {api_url}/{version}/map-info-objects
Create
POST {api_url}/{version}/map-info-objects
Update
PATCH {api_url}/{version}/map-info-objects/{id}

Map Note

Read
GET {api_url}/{version}/map-notes/{id}
Read All
GET {api_url}/{version}/map-notes
Create
POST {api_url}/{version}/map-notes
Update
PATCH {api_url}/{version}/map-notes/{id}

Map Permit

Read
GET {api_url}/{version}/map-permits/{id}
Read All
GET {api_url}/{version}/map-permits
Create
POST {api_url}/{version}/map-permits
Update
PATCH {api_url}/{version}/map-permits/{id}

Example:

PATCH https://api.veronetworks.com/v1/map-permits/30768

Request body:

{
  "mapProjectId": "11572",
  "poly": [
    [
      { "lat": "37.129198", "lng": "-87.791584" },
      { "lat": "36.127619", "lng": "-88.790082" }
    ],
    [
      { "lat": "35.126390", "lng": "-89.792399" },
      { "lat": "35.124500", "lng": "-89.794000" }
    ]
  ]
}

Map Pole

Read
GET {api_url}/{version}/map-poles/{id}
Read All
GET {api_url}/{version}/map-poles
Create
POST {api_url}/{version}/map-poles
Update
PATCH {api_url}/{version}/map-poles/{id}

Map Segment

Read
GET {api_url}/{version}/map-segments/{id}
Read All
GET {api_url}/{version}/map-segments
Create
POST {api_url}/{version}/map-segments
Update
PATCH {api_url}/{version}/map-segments/{id}

Example:

PATCH https://api.veronetworks.com/v1/map-segments/1177

Request body:

{
  "mapProjectId": 41,
  "poly": [
    { "lat": 32.7714169834758, "lng": -96.12168230422975 },
    { "lat": 32.77138, "lng": -97.12287 },
    { "lat": 32.770140000000005, "lng": -97.12288000000001 },
    { "lat": 32.77015, "lng": -97.1213 },
    { "lat": 32.77013598463115, "lng": -97.11901284516131 },
    { "lat": 32.769634804144374, "lng": -97.11900020370484 }
  ]
}

Map Site

Read
GET {api_url}/{version}/map-sites/{id}
Read All
GET {api_url}/{version}/map-sites
Create
POST {api_url}/{version}/map-sites
Update
PATCH {api_url}/{version}/map-sites/{id}

Map Splice

Read
GET {api_url}/{version}/map-splices/{id}
Read All
GET {api_url}/{version}/map-splices
Create
POST {api_url}/{version}/map-splices
Update
PATCH {api_url}/{version}/map-splices/{id}

Expanding Tags

Some models support retrieving related tags directly in the response using the expand query parameter.

Usage
GET {api_url}/{version}/{model}/{id}?expand=tags

This returns the base model plus its associated tags. Only models that extend MapItem and define the tags relation will support this.

Example:

GET https://api.veronetworks.com/v1/map-permit/9540?expand=tags

Response (snippet):

{
  "id": 9540,
  "name": "Lower - Woodruff Rd S-417 (2) PH2",
  "tags": [
    { "id": 857, "name": "Lower", "mapprojectId": 216 }
  ]
}

To expand multiple fields, separate them with commas. Example: ?expand=tags,owner


Filters

The Verofy API supports filters for refined queries via query parameters.

Example: filter map poles by mapProjectId

GET {api_url}/{version}/map-pole?filter%5BmapProjectId%5D=38

This retrieves all map poles associated with mapProjectId=38.


CRM Endpoints

Authentication

All CRM endpoints require an **API Key**. Include it in the Authorization header.

GET /v1/crm-vendors

Description

Retrieve a list of CRM vendors.

Request Example
curl -X GET "https://api.veronetworks.com/v1/crm-vendors" \
  -H "Authorization: YOUR-API-KEY"
Response Example
{
  "items": [
    {
      "id": 1001,
      "name": "Vendor One",
      "email": "vendor1@example.com",
      "layout": "Standard",
      "primaryContactId": null,
      "backupContactId": null,
      "ownerId": 1
    },
    {
      "id": 1002,
      "name": "Vendor Two",
      "email": "vendor2@example.com",
      "layout": "Advanced",
      "primaryContactId": null,
      "backupContactId": null,
      "ownerId": 2
    }
  ],
  "_links": {
    "self":  { "href": "https://api.veronetworks.com/v1/crm-vendors?page=1" },
    "first": { "href": "https://api.veronetworks.com/v1/crm-vendors?page=1" },
    "last":  { "href": "https://api.veronetworks.com/v1/crm-vendors?page=10" },
    "next":  { "href": "https://api.veronetworks.com/v1/crm-vendors?page=2" }
  },
  "_meta": { "totalCount": 200, "pageCount": 10, "currentPage": 1, "perPage": 20 }
}

List of Other CRM Endpoints

All follow the same authentication and response format.

GET /v1/crm-contacts

Retrieve a list of CRM contacts.

GET /v1/crm-accounts

Retrieve a list of CRM accounts.

GET /v1/crm-services

Retrieve a list of CRM services.

GET /v1/crm-capital-projects

Retrieve a list of CRM capital projects.

GET /v1/crm-billing-items

Retrieve a list of CRM billing items.


Notes

  • All responses follow the same structure as crm-vendors.
  • Pagination is supported with the ?page=N query parameter.
  • Replace YOUR-API-KEY in examples with a valid API key.