{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"info","__idx":0},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["info"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Customize the overview section of your GraphQL API documentation with metadata like title, description, contact information, and license details."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"usage","__idx":1},"children":["Usage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["info"]}," object to your GraphQL configuration to display API metadata in the overview page:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","data-title":"redocly.yaml","header":{"title":"redocly.yaml","controls":{"copy":{}}},"source":"graphql:\n  info:\n    title: GitHub GraphQL API\n    version: v4\n    description: |\n      Comprehensive **GraphQL API** for GitHub.\n      \n      ## Features\n      - Precise data queries\n      - Strongly typed schema\n    termsOfService: https://example.com/terms\n    contact:\n      name: API Support\n      url: https://support.example.com\n      email: support@example.com\n    license:\n      name: MIT\n      url: https://opensource.org/licenses/MIT\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"options","__idx":2},"children":["Options"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["title"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The name of your GraphQL API."," ","Appears in the page header and sidebar."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["version"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The version of your API."," ","Displays next to the title as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Title (version)"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["description"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Markdown-formatted description of your API."," ","Supports headings, lists, code blocks, and links."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["termsOfService"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["URL to your API's terms of service."," ","Displays as a link in the overview panel."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["contact"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#contact-object"},"children":["Contact object"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contact information for API support."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["license"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#license-object"},"children":["License object"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["License information for your API."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"contact-object","__idx":3},"children":["Contact object"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["name"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Name of the contact person or team."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["url"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["URL to a contact page or support site."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["email"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contact email address for API support."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"license-object","__idx":4},"children":["License object"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["name"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["License name (e.g., MIT, Apache 2.0)."," ","Used as link text when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["identifier"]}," is not provided."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["url"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["URL to the full license text."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["identifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SPDX license identifier."," ","When provided, displays instead of the license name."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"schema-directives-alternative","__idx":5},"children":["Schema directives (alternative)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also define info metadata using GraphQL schema directives."," ","Config values take precedence over schema directives."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"graphql","header":{"controls":{"copy":{}}},"source":"directive @redocly_info(title: String, version: String, description: String, termsOfService: String) on SCHEMA\ndirective @redocly_contact(name: String, url: String, email: String) on SCHEMA\ndirective @redocly_license(name: String, url: String, identifier: String) on SCHEMA\n\nschema \n  @redocly_info(\n    title: \"My API\"\n    version: \"1.0\"\n    description: \"API description from schema\"\n  )\n  @redocly_contact(email: \"support@example.com\")\n  @redocly_license(name: \"MIT\")\n{\n  query: Query\n}\n","lang":"graphql"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"schema-docstring-fallback","__idx":6},"children":["Schema docstring (fallback)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also provide title and description using GraphQL's standard docstring syntax."," ","This has the lowest priority and is used only when values are not provided in config or directives."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"graphql","header":{"controls":{"copy":{}}},"source":"\"\"\"\n# My API Title\n\nDescription goes here.\nMultiline etc etc.\n\"\"\"\nschema {\n  query: Query\n}\n","lang":"graphql"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The docstring can start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["#"]}," (followed by a space) on the first line."," ","That line is extracted as the title and the rest as the description."," ","Otherwise, the entire docstring is used as the description."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"per-api-customization","__idx":7},"children":["Per-API customization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apis"]}," configuration to customize info for each GraphQL API separately:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","data-title":"redocly.yaml","header":{"title":"redocly.yaml","controls":{"copy":{}}},"source":"# Global defaults\ngraphql:\n  info:\n    contact:\n      email: default@company.com\n\n# Per-API overrides\napis:\n  github-api@v1:\n    root: ./github.graphql\n    graphql:\n      info:\n        title: GitHub API (Production)\n        contact:\n          email: github-support@company.com\n  \n  internal-api@v1:\n    root: ./internal.graphql\n    graphql:\n      info:\n        title: Internal API\n        contact:\n          email: internal-support@company.com\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"merge-priority","__idx":8},"children":["Merge priority"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When info is defined in multiple places, they merge with this priority (highest to lowest):"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Per-API config (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apis.*.graphql.info"]},") - highest priority"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Global config (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["graphql.info"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Schema directives (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@redocly_info"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@redocly_contact"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@redocly_license"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Schema docstring (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"\"\"...\"\"\""]},") - lowest priority (title and description only)"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":9},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/content/api-docs/add-graphql-docs"},"children":["Add GraphQL API descriptions"]}]}," - Add GraphQL schemas to your project and configure documentation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/config/graphql"},"children":["GraphQL configuration reference"]}]}," - Complete reference for all GraphQL configuration options"]}]}]},"frontmatter":{"products":["Redoc","Realm"],"plans":["Pro","Enterprise","Enterprise+"]},"tagList":["table"],"title":"info","lastModified":"2026-10-01T23:00:57.000Z"}