{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"25ab67c1-bb92-4953-90b0-d0ef02c682b1","name":"GreyMatter API","description":"## Introduction\n\nThe GreyMatter API provides access to select GreyMatter capabilities through a [GraphQL interface](https://graphql.org/). All API interactions occur over a secure HTTPS connection to a single endpoint. Requests are made using the `POST` HTTPS method with [JSON-encoded bodies](https://www.json.org/json-en.html), and the API returns **JSON-encoded responses**. We use standard [HTTP response codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status) for indicating the status of requests, and authentication is managed via **API keys**.\n\nYou can use GraphQL queries to fetch specific information and mutations to perform actions. To explore the full range of available operations and data structures, the API supports [GraphQL introspection](https://graphql.org/learn/introspection/). As we iteratively enhance the API, introspection is the best way to stay updated on the latest features.\n\n## **Base URL**\n\nProduction Environment - `https://greymatter.myreliaquest.com/graphql`\n\n## QuickStart Guides\n\n- [ServiceNow Example](https://reliaquest.service-now.com/kb_view.do?sysparm_article=KB0024523#:~:text=GreyMatter%20API%20Quick%20Start%20Example%20with%20ServiceNow)\n    \n- [Jira Example](https://reliaquest.service-now.com/kb_view.do?sysparm_article=KB0024523#:~:text=GreyMatter%20API%20Quick%20Start%20Example%20with%20Jira)\n    \n\n# Authentication\n\nRequests to all GraphQL nodes require authentication by using a dedicated (high entropy) API key. To authenticate your requests, include a header in the HTTPS request called `X-API-KEY` with the value of your API key.\n\nAll API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.\n\n**Note:** You cannot use your normal email/password login details.\n\n## Managing API Keys\n\n- **Generating an API Key:**\n    \n    1. Navigate to GreyMatter > Settings > API Key Management.\n        \n    2. Click the “New API Key” button in the top right corner.\n        \n    3. Select an Expiration Date (default is 1 year) and then click the “Create Key” button.\n        \n    4. The generated Key will be displayed. **This is the only time the key will be visible.**\n        \n    5. After closing the prompt, you will be redirected to the API Key Management screen, which shows the key's expiration date, creation date, last query, and last usage time.\n        \n- **Removing an API Key:**\n    \n    1. Navigate to GreyMatter > Settings > API Key Management.\n        \n    2. Click the “Remove” button next to the API key you wish to remove.\n        \n    3. Select “Confirm”.\n        \n\n# **Requests and Responses**\n\nThe GreyMatter API uses GraphQL. All requests must use the `POST` HTTPS method.\n\n- **Learning GraphQL:** A good resource for learning how to query a GraphQL API is [https://graphql.org/learn/queries/](https://graphql.org/learn/queries/).\n    \n- **GraphQL Introspection:** Introspection is available, allowing you to query the API to discover available queries, mutations, types, enums, etc.\n    \n\n## **Responses**\n\nAll operations will respond with standard HTTPS status codes:\n\n- `2xx` codes indicate successful operations.\n    \n- `4xx` codes indicate a problem with the request (e.g., a required parameter was omitted).\n    \n- `5xx` codes indicate a problem on the server side.\n    \n\n# **Rate Limiting**\n\nThe GreyMatter API employs rate limiting to ensure performant access for all users. The limit per GreyMatter User account is 5000 tokens per hour. Each Node entity in the request counts as a token.\n\n# Pagination\n\nFor queries that return paginated results, the API follows the GraphQL Connections standard ([https://relay.dev/graphql/connections.htm](https://relay.dev/graphql/connections.htm)).\n\nPaginated queries accept two inputs:\n\n- `first`: (Integer) Determines the number of results to return.\n    \n- `after`: (String) A cursor value that determines where to start returning results. This is optional if you want to retrieve results from the beginning.\n    \n\nThe response for a paginated query will be a `Connection` type, which includes:\n\n- `pageInfo`: Contains details on whether there is a previous or next page of data.\n    \n- `edges`: An array containing the actual data. Each entry in `edges` includes a `cursor` property that can be used as the `after` input to retrieve the next page of data.\n    \n- `totalCount`: The total number of items that matched the query.\n    \n\n**Note:** If a cursor is passed in that would fit inside of a page (based on the `after` input), the results will start at the beginning of that page, not specifically where the cursor points within the page.\n\n# **Support**\n\nIf you require support for using the API, troubleshooting, or setup, please contact `greymattersupport@reliaquest.com`.\n\n## **Frequently Asked Questions (FAQ)**\n\n- **Q: Who Can Utilize the GM API?**\n    \n    - A: All active customers with a GreyMatter account are eligible to use the GM API.\n        \n- **Q: How Do I Get an API Key?**\n    \n    - A: Navigate to your GreyMatter instance > Settings > API Key Management > New API Key.\n        \n- **Q: How Many API Keys Can I Generate?**\n    \n    - A: Each user can create one API key. The API key will only be visible when the key is created. If you create a new one, the old one becomes invalid.\n        \n- **Q: Do API Keys Expire?**\n    \n    - A: Yes, API keys do expire. You can set the expiry date when you create the key or edit it later if needed.\n        \n- **Q: How do I renew an API key?**\n    \n    - A: Key renewal is not supported. You must create a new key by navigating to your GreyMatter instance > Settings > API Key Management > New API Key.\n        \n- **Q: Will I be notified before my API key expires?**\n    \n    - A: No, not at this time.\n        \n- **Q: Will I be notified if someone from my organization creates/renews an API?**\n    \n    - A: Not at this time. API keys are handled at an account level, so you will only be able to see/access the API key that you created.\n        \n- **Q: How does ReliaQuest store API keys?**\n    \n    - A: We store a one-way-hash of the API key.\n        \n- **Q: What is the Base URL for the API?**\n    \n    - A: `https://greymatter.myreliaquest.com/graphql`\n        \n- **Q: Which Queries/Mutations will be available?**\n    \n    - A: See the attached text file (GraphQL Schema) in the knowledge base article.\n        \n- **Q: Who can I contact if I have a support question for the GreyMatter API?**\n    \n    - A: Please reach out to `greymattersupport@reliaquest.com`.\n\n- **Q: How can I aggregrate data across multiple company entities?**\n    \n    - A: Your account is tied to a default entity. You will need to override this value with the header key `x-reliaquest-customer` and the value from customer `headerSlug` to pull data across entities.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"39440280","team":1340427,"collectionId":"25ab67c1-bb92-4953-90b0-d0ef02c682b1","publishedId":"2sAYQZJYMC","public":true,"publicUrl":"https://apidocs.myreliaquest.com","privateUrl":"https://go.postman.co/documentation/39440280-25ab67c1-bb92-4953-90b0-d0ef02c682b1","customColor":{"top-bar":"FFFFFF","right-sidebar":"004e5a","highlight":"00afab"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"004e5a","highlight":"00afab"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"004e5a","highlight":"00afab"}}]}},"version":"8.10.1","publishDate":"2025-02-03T23:03:18.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/72920641a4db24495c2dd2e380df3644765ab5bea1d1b56bca2704bae9e795d6","favicon":"https://myreliaquest.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://apidocs.myreliaquest.com/view/metadata/2sAYQZJYMC"}