Note that file should be passed under file naming as in example below. In essence, each file is treated as a separate part within the request body, identified by its own set of headers and followed by its binary data. Most HTTP client libraries (like Python’s requests, JavaScript’s FormData API, etc.) handle the complex byte-level encoding, boundary generation, and header setting automatically when you provide them with file objects or file paths.
Create Ticket
POST
/api/v1/noc/tickets/externalNOCExpressInitiates NOC ticket creation for service requests, outages, or configuration changes.
Auth Scope
urn:grt:nocexpressContent-Type
multipart/form-dataRate Limit
60 req/min
Headers
| Header | Value |
|---|---|
Authorization | Bearer access-token |
Content-Type | multipart/form-data |
Request Body Parameters (form-data)
Site Object
Each item in the sites list should contain:
| Field | Type | Required | Description |
|---|---|---|---|
macnum | string | Yes | An account macnum. Note: id should be retrieved using api/v1/noc/companies/sites |
maintenance_window | string | Yes | The specified maintenance window for the location |
Additional Contact Object
Each item in the additional_contacts list should contain:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | The type of the additional contact. Must be one of: "Technical contact", "Local contact", "Other" |
name | string | Yes | The name of the additional contact person |
number | integer | Yes | The phone number of the additional contact person |
Ticket Object
| Field | Type | Required | Description |
|---|---|---|---|
issue_name | string | Yes | The name of the issue occurred. Should be retrieved using api/v1/noc/tickets/static, possible options in ticket_issues_dropdown_values |
initial_description | string | No | A detailed initial description of the issue or service request |
type_name | string | Yes | The type name of the ticket. Should be retrieved using api/v1/noc/configurations. If request contains multiple sites, value should be "Multi-Site Service Request" |
subtype_name | string | Yes | The subtype name of the ticket. Should be retrieved using api/v1/noc/configurations. If request contains multiple sites, value should be one of: "Multi-Site Outage", "Multi-Site Service Impact", "Multi-Site Informational", "Multi-Site Configuration Request" |
configuration_ids | CommaDelimitedList | Yes | A comma-separated list of configuration identifiers. Should be retrieved using api/v1/noc/configurations |
customer_ticket_number | string | No | The customer's ticket number, if applicable |
prior_ticket | integer | No | The ID of a prior, related ticket that share info pertaining to this issue |
contact_name | string | Yes | The name of the primary contact person. The maximum length is 62 characters |
contact_email_address | string | Yes | The email address of the primary contact person |
local_contact_name | string | Yes | The name of the local contact person for the site |
local_contact_number | integer | Yes | The phone number of the local contact person |
additional_contacts | list | No | A list of additional contacts for the ticket. Each contact should contain type, name, and number |
automatic_email_contact | boolean | No | Indicates whether an automatic email notification should be sent to the primary contact |
automatic_email_cc | boolean | Yes | Indicates whether an automatic email should be carbon-copied (CC'd) |
automatic_email_cc_address | string | No | The email address for the automatic email CC |
sites | list | Yes | A list of sites associated with the ticket |
access_hours | string | Yes | The time frame in which an on-site contact will be available for access and/or troubleshooting if technician dispatch is required |
technician_dispatch_approved | boolean | No | Indicates whether a technician dispatch has been approved |
granted_tenant_macnum | string | No | The company macnum on whose behalf the action is performed |
Request Example
Payload Example Using Postman
Form Files
| Parameter | Type | Required | Description |
|---|---|---|---|
file | file | No | The file to be attached to the ticket. Documents pertaining to dispatch such as floor plan, install guide, survey document, photos of broken items, etc. |
Important Notes
1.
type_name should be retrieved using api/v1/noc/configurations. If request contains multiple sites – value should be “Multi-Site Service Request”2.
subtype_name should be retrieved using api/v1/noc/configurations. If request contains multiple sites – value should be one of: “Multi-Site Outage”, “Multi-Site Service Impact”, “Multi-Site Informational”, “Multi-Site Configuration Request”3.
issue_name should be retrieved using api/v1/noc/tickets/static, possible options in ticket_issues_dropdown_values. If request contains multiple sites query parameters should be passed based on values above4.
configuration_ids should be retrieved using api/v1/noc/configurations5. Order of calling requests to fill create ticket request form:
- Get list of sites, select impacted
- Get configurations for a particular sites
- Get proper issue for a particular configuration ticket type and ticket subtype using static endpoint
- Provide gathered data in creation form
File Validation
- The filename cannot be empty
- The file extension must be one of the allowed extensions:
.pdf,.doc,.csv,.xlsx,.png,.jpg,.jpeg - The file size must not exceed 25 MB content length
Response
Note
For every provided location, a separate ticket will be created and returned in a response accordingly.
Success Response (200 OK)
Response Fields
| Field | Type | Description |
|---|---|---|
id | integer | The unique identifier of this ticket within the system |
address_1 | string | The primary street address for the location associated with this ticket |
attachments | array of objects | A list detailing files that have been attached to this ticket. Each object contains filename (string) and status (string) indicating the outcome of the attachment upload (e.g., "success", "failure") |
city | string | The city component of the address associated with the ticket's location |
company_identifier | string | An internal or external identifier used for the associated company |
company_name | string | The full name of the company associated with the ticket (e.g., "Valvoline") |
configurations | list of objects | A list of services or configurations related to the ticket. Each object contains id (integer), name (string), and type (string) |
date_entered | string (ISO 8601 UTC datetime) | The timestamp indicating when the ticket was initially created or entered into the system |
date_resolved | string (ISO 8601 UTC datetime, or null) | The timestamp indicating when the ticket was resolved. It will be null if the ticket is not yet resolved |
g360_escalated | boolean | Indicates whether the ticket has been escalated within the G360 system |
g360_status | string | The G360 status of the ticket (e.g., "Open") |
issue | string | The type of issue reported in the ticket |
last_updated | string (ISO 8601 UTC datetime) | The timestamp indicating the last time any changes were made to this ticket record |
site_name | string | The name or identifier of the site associated with this ticket |
state | string | The two-letter state code for the location (e.g., "MN") |
status_name | string | The current human-readable status of the ticket within its workflow (e.g., "Open") |
summary | string | A brief, high-level summary of the ticket |
zip | string | The postal code (zip code) component of the address associated with the ticket's location |
Code Examples
Errors
| HTTP Status | Error Description | Resolution |
|---|---|---|
400 | Bad Request | Review the error response body for specific validation errors. Ensure all required fields are present and follow the proper workflow: get sites, get configurations, get issues, then create ticket. |
401 | Authentication Failed | Verify your access token is valid and included in the Authorization header with the "Bearer " prefix. |
403 | Permission Denied | Your access token does not have the required scope (urn:grt:nocexpress). Contact your administrator to request the appropriate permissions. |
Last updated on