GraphOS MCP Server
Qué hace este MCP
Searches Apollo documentation and inspects GraphOS graph variants, launches, schemas, lint results, operations, clients, and subgraph metrics.
Herramientas
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'required': ['connectorTools'], 'properties': {'connectorTools': {'type': 'object', 'required': ['spec'], 'properties': {'spec': {'type': 'string', 'description': 'A specification for Apollo Connectors'}}, 'description': 'Fields that back Connector-related MCP tools'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['slug', 'chunkIndex'], 'properties': {'slug': {'type': 'string', 'description': 'The slug returned from the ApolloDocsSearch tool'}, 'chunkIndex': {'type': 'integer', 'description': 'The character index to start reading from, will return up to the next 10000 characters'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'required': ['documentation'], 'properties': {'documentation': {'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'object', 'required': ['url', 'slug', 'contentSlice'], 'properties': {'url': {'type': 'string', 'description': 'The full URL of the documentation page'}, 'slug': {'type': 'string', 'description': 'Unique slug identifier for the page'}, 'contentSlice': {'type': 'object', 'required': ['content', 'index', 'totalCount'], 'properties': {'index': {'type': 'integer', 'description': 'The index of the section'}, 'content': {'type': 'string', 'description': 'The content of the section'}, 'totalCount': {'type': 'integer', 'description': 'Total number of sections available'}}, 'description': 'The content of the page, optionally sliced based on input parameters'}}}, {'type': 'null'}], 'description': 'Retrieve a specific documentation page by its slug'}}, 'description': 'Access documentation pages and search functionality'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Use terms that would lead to broad result with a maximum of 2 keywords.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'required': ['documentation'], 'properties': {'documentation': {'type': 'object', 'required': ['search'], 'properties': {'search': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'firstFiveHundredCharacters'], 'properties': {'slug': {'type': 'string', 'description': 'Unique slug identifier for the page'}, 'firstFiveHundredCharacters': {'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'The content of the section'}}, 'description': 'The content of the page, optionally sliced based on input parameters'}}}, 'description': 'Search for documentation pages matching the query'}}, 'description': 'Access documentation pages and search functionality'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId'], 'properties': {'graphId': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'delete': {'anyOf': [{'description': 'Always null'}, {'type': 'null'}], 'description': 'Soft delete a graph. Data associated with the graph is not permanently deleted; Apollo support can undo.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'subgraphName'], 'properties': {'dryRun': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': False, 'description': 'Do not remove the service, but recompose without it and report any errors.'}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'subgraphName': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['removeImplementingServiceAndTriggerComposition'], 'properties': {'removeImplementingServiceAndTriggerComposition': {'type': 'object', 'required': ['updatedGateway', 'errors'], 'properties': {'errors': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['message', 'locations'], 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A machine-readable error code.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the error.'}, 'locations': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer', 'description': 'Line number.'}, 'column': {'type': 'integer', 'description': 'Column number.'}}}, {'type': 'null'}]}, 'description': 'Source locations related to the error.'}}}, {'type': 'null'}]}, 'description': "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."}, 'updatedGateway': {'type': 'boolean', 'description': 'Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result.'}}, 'description': 'Removes a subgraph. If composition is successful, this will update running routers.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'checkId'], 'properties': {'checkId': {'type': 'string'}, 'graphId': {'type': 'string'}, 'affectedOperationsLimit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 20, 'description': 'The maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.#The maximum number of affected queries to return. Must be 50 or fewer.'}, 'affectedOperationsOffset': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 0, 'description': 'How many items to skip before starting to return results.\nFor example, with `limit: 10` and `offset: 10`, you get items 11â\x80\x9320.#How many items to skip before starting to return results.\nFor example, with `limit: 10` and `offset: 10`, you get items 11â\x80\x9320.#How many items to skip before starting to return results.\nFor example, with `limit: 10` and `offset: 10`, you get items 11â\x80\x9320.#How many items to skip before starting to return results.\nFor example, with `limit: 10` and `offset: 10`, you get items 11â\x80\x9320.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'checkWorkflow': {'anyOf': [{'type': 'object', 'required': ['id', 'status', 'createdAt', 'tasks'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, 'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, 'result': {'anyOf': [{'type': 'object', 'required': ['violations'], 'properties': {'violations': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'message', 'rule'], 'properties': {'rule': {'type': 'string', 'description': 'The rule being violated. This is used to group multiple violations together in Studio. Max character length is 128.'}, 'level': {'$ref': '#/definitions/ViolationLevel', 'description': 'The violation level for the rule.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the rule violation, rendered as markdown in Apollo Studio. Maximum length: 512 characters.'}, 'coordinate': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The schema coordinate of this rule violation as defined by RFC:\n\t\thttps://github.com/graphql/graphql-wg/blob/main/rfcs/SchemaCoordinates.md\n\t\tOptional for violations that aren't specific to a single schema element"}}}}}}, {'type': 'null'}]}, 'status': {'$ref': '#/definitions/CheckWorkflowTaskStatus', 'description': 'The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED.'}, 'results': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['blocking', 'downstreamGraphID', 'downstreamVariantName'], 'properties': {'blocking': {'type': 'boolean', 'description': 'Whether the downstream check workflow blocks the upstream check workflow from completing.'}, 'downstreamGraphID': {'type': 'string', 'description': 'The ID of the graph that the downstream variant belongs to.'}, 'downstreamVariantName': {'type': 'string', 'description': 'The name of the downstream variant.'}, 'failsUpstreamWorkflow': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs\nwhen the downstream check workflow is both blocking and failing. This may be null while the\ndownstream check workflow is pending.'}}}}, {'type': 'null'}], 'description': "A list of results for all downstream checks triggered as part of the source variant's checks workflow.\nThis value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a\nprerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty\nif the source variant has no downstream variants."}, 'targetURL': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A studio UI url to view the details of this check workflow task'}, '__typename': {'type': 'string', 'description': 'The typename of this object'}, 'hasWarnings': {'type': 'boolean', 'description': 'True if this Proposal check passed with warnings, otherwise false.'}, 'severityLevel': {'$ref': '#/definitions/ProposalChangeMismatchSeverity', 'description': "The configured severity at the time the check was run. If the check failed, this is the severity that should be shown. While this Check is PENDING defaults to Service's severityLevel."}, 'proposalCoverage': {'$ref': '#/definitions/ProposalCoverage', 'description': "Indicates the level of coverage a check's changeset is in approved Proposals. PENDING while Check is still running."}, 'coreSchemaModified': {'type': 'boolean', 'description': "Whether the build's output supergraph core schema differs from that of the active publish for\nthe workflow's variant at the time this field executed (NOT at the time the check workflow\nstarted)."}}}, 'description': 'The set of check tasks associated with this workflow, e.g. composition, operations, etc.'}, 'status': {'$ref': '#/definitions/CheckWorkflowStatus', 'description': 'Overall status of the workflow, based on the underlying task statuses.'}, 'createdAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'startedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the check workflow started.'}, 'gitContext': {'anyOf': [{'type': 'object', 'properties': {'commit': {'anyOf': [{'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, {'type': 'null'}]}}}, {'type': 'null'}], 'description': 'Contextual parameters supplied by the runtime environment where the check was run.'}, 'baseVariant': {'anyOf': [{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}}, {'type': 'null'}], 'description': 'The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks.'}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the check workflow completed.'}, 'implementingServiceName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The name of the implementing service that was responsible for triggering the validation.'}}}, {'type': 'null'}], 'description': 'Get a check workflow for this graph by its ID'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LintRule': {'enum': ['ALL_ELEMENTS_REQUIRE_DESCRIPTION', 'CONTACT_DIRECTIVE_MISSING', 'DEFINED_TYPES_ARE_UNUSED', 'DEPRECATED_DIRECTIVE_MISSING_REASON', 'DIRECTIVE_COMPOSITION', 'DIRECTIVE_NAMES_SHOULD_BE_CAMEL_CASE', 'DOES_NOT_PARSE', 'ENUM_PREFIX', 'ENUM_SUFFIX', 'ENUM_USED_AS_INPUT_WITHOUT_SUFFIX', 'ENUM_USED_AS_OUTPUT_DESPITE_SUFFIX', 'ENUM_VALUES_SHOULD_BE_SCREAMING_SNAKE_CASE', 'FIELD_NAMES_SHOULD_BE_CAMEL_CASE', 'FROM_SUBGRAPH_DOES_NOT_EXIST', 'INCONSISTENT_ARGUMENT_PRESENCE', 'INCONSISTENT_BUT_COMPATIBLE_ARGUMENT_TYPE', 'INCONSISTENT_BUT_COMPATIBLE_FIELD_TYPE', 'INCONSISTENT_DEFAULT_VALUE_PRESENCE', 'INCONSISTENT_DESCRIPTION', 'INCONSISTENT_ENTITY', 'INCONSISTENT_ENUM_VALUE_FOR_INPUT_ENUM', 'INCONSISTENT_ENUM_VALUE_FOR_OUTPUT_ENUM', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_LOCATIONS', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_PRESENCE', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_REPEATABLE', 'INCONSISTENT_INPUT_OBJECT_FIELD', 'INCONSISTENT_INTERFACE_VALUE_TYPE_FIELD', 'INCONSISTENT_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'INCONSISTENT_OBJECT_VALUE_TYPE_FIELD', 'INCONSISTENT_RUNTIME_TYPES_FOR_SHAREABLE_RETURN', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_LOCATIONS', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_REPEATABLE', 'INCONSISTENT_UNION_MEMBER', 'INPUT_ARGUMENT_NAMES_SHOULD_BE_CAMEL_CASE', 'INPUT_TYPE_SUFFIX', 'INTERFACE_PREFIX', 'INTERFACE_SUFFIX', 'MERGED_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'NO_EXECUTABLE_DIRECTIVE_INTERSECTION', 'NULLABLE_PATH_VARIABLE', 'OBJECT_PREFIX', 'OBJECT_SUFFIX', 'OVERRIDDEN_FIELD_CAN_BE_REMOVED', 'OVERRIDE_DIRECTIVE_CAN_BE_REMOVED', 'OVERRIDE_MIGRATION_IN_PROGRESS', 'QUERY_DOCUMENT_DECLARATION', 'RESTY_FIELD_NAMES', 'TAG_DIRECTIVE_USES_UNKNOWN_NAME', 'TYPE_NAMES_SHOULD_BE_PASCAL_CASE', 'TYPE_PREFIX', 'TYPE_SUFFIX', 'UNUSED_ENUM_TYPE'], 'type': 'string'}, 'ChangeCategory': {'enum': ['ADDITION', 'EDIT', 'REMOVAL', 'DEPRECATION'], 'type': 'string', 'description': 'Defines a set of categories that a schema change\ncan be grouped by.'}, 'ChangeSeverity': {'enum': ['FAILURE', 'NOTICE'], 'type': 'string'}, 'ViolationLevel': {'enum': ['ERROR', 'INFO', 'WARNING'], 'type': 'string'}, 'ProposalCoverage': {'enum': ['FULL', 'NONE', 'OVERRIDDEN', 'PARTIAL', 'PENDING'], 'type': 'string'}, 'CheckWorkflowStatus': {'enum': ['FAILED', 'PASSED', 'PENDING'], 'type': 'string'}, 'LintDiagnosticLevel': {'enum': ['ERROR', 'IGNORED', 'WARNING'], 'type': 'string', 'description': 'The severity level of an lint result.'}, 'CheckWorkflowTaskStatus': {'enum': ['BLOCKED', 'FAILED', 'PASSED', 'PENDING'], 'type': 'string'}, 'ProposalChangeMismatchSeverity': {'enum': ['ERROR', 'OFF', 'WARN'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'from', 'to'], 'properties': {'to': {'$ref': '#/definitions/Timestamp', 'description': 'The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601).'}, 'from': {'$ref': '#/definitions/Timestamp', 'description': 'The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601).'}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 50, 'description': 'Maximum number of records to return (default: 100, max 10000).'}, 'graphId': {'type': 'string'}, 'orderBy': {'anyOf': [{'$ref': '#/definitions/OperationInsightsTimeseriesReportMetric'}, {'type': 'null'}], 'default': 'REQUEST_COUNT'}, 'resolution': {'anyOf': [{'$ref': '#/definitions/TimeseriesReportResolution'}, {'type': 'null'}], 'default': 'ENTIRE_RANGE', 'description': "The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and\n'to' timestamps:\n- For the MINUTE resolution, the total time between 'from' and 'to' must be no more than 1 day, and the 'from' time must be no earlier than 30 days ago.\n- For the HOUR resolution, the total time between 'from' and 'to' must be no more than 7 days, and the 'from' time must be no earlier than 90 days ago.\n- For the DAY, MONTH, and ENTIRE_RANGE resolutions, the 'from' time must be no earlier than 549 days ago (approx 18 months), and the 'to' time must be no later than 1 day ago.\nIf these criteria are not met, this will return a REQUEST_INVALID error."}, 'variantName': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, {'type': 'null'}]}, 'operationName': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, {'type': 'null'}]}}, 'definitions': {'Timestamp': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'TimeseriesReportResolution': {'enum': ['DAY', 'ENTIRE_RANGE', 'HOUR', 'MINUTE', 'MONTH'], 'type': 'string', 'description': 'The size of each time bucket in a timeseries report.\n\nValues:\nDAY: One-day buckets.\nENTIRE_RANGE: Single bucket containing the entire time range.\nHOUR: One-hour buckets.\nMINUTE: One-minute buckets.\nMONTH: One-month buckets.'}, 'OperationInsightsTimeseriesReportMetric': {'enum': ['REQUEST_COUNT', 'REQUEST_LATENCY_P50_MS', 'REQUEST_LATENCY_P90_MS', 'REQUEST_LATENCY_P99_MS', 'REQUEST_WITH_ERROR_COUNT'], 'type': 'string', 'description': '\n\nValues:\nREQUEST_COUNT: \nREQUEST_LATENCY_P50_MS: \nREQUEST_LATENCY_P90_MS: \nREQUEST_LATENCY_P99_MS: \nREQUEST_WITH_ERROR_COUNT: '}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['operationInsightsTimeseriesReport'], 'properties': {'operationInsightsTimeseriesReport': {'type': 'object', 'properties': {'csv': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A CSV representation of the results. This includes a header and rows that have a column for start and end timestamp and all requested dimensions and metrics.'}}, 'description': ' Returns a timeseries of operation metrics across a specified time range for this graph. This will return specified metrics (request count,\n avg latency, etc) grouped by time and the specified dimensions (query ID, query name, client name, etc). This API is rate limited and only\n allows a small number of requests per minute, and will return a RATE_LIMIT_EXCEEDED error if too many requests are made for a graph. If a\nrequest to this field times out, we recommend that you try a shorter time range or fewer dimensions.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}, 'sourceVariant': {'anyOf': [{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}}, {'type': 'null'}], 'description': 'The variant this variant is derived from. This property currently only exists on contract variants.'}, 'contractFilterConfig': {'anyOf': [{'type': 'object', 'required': ['include', 'exclude'], 'properties': {'exclude': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags of schema elements to exclude from the contract schema.'}, 'include': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags of schema elements to include in the contract schema.'}}}, {'type': 'null'}], 'description': 'The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema.'}, 'contractFilterConfigDescription': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "A human-readable description of the filter configuration of this contract variant, or null if this isn't a contract\nvariant."}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'latestPublication': {'anyOf': [{'type': 'object', 'required': ['publishedAt', 'schema'], 'properties': {'schema': {'type': 'object', 'required': ['hash', 'document'], 'properties': {'hash': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The GraphQL schema document's SHA256 hash, represented as a hexadecimal string."}, 'document': {'type': 'string', 'description': 'A GraphQL document, such as a schema in SDL syntax.'}}, 'description': 'The schema that was published to the variant.'}, 'publishedAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}}}, {'type': 'null'}], 'description': "The details of the variant's most recent publication."}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'latestLaunch': {'anyOf': [{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique identifier for this launch.'}, 'status': {'$ref': '#/definitions/LaunchStatus', 'description': "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the launch completed. This value is null until the launch completes.'}, 'publication': {'anyOf': [{'type': 'object', 'properties': {'diffToPrevious': {'anyOf': [{'type': 'object', 'required': ['changeSummary'], 'properties': {'changeSummary': {'type': 'object', 'required': ['total', 'field'], 'properties': {'field': {'type': 'object', 'required': ['additions', 'removals', 'edits'], 'properties': {'edits': {'type': 'integer', 'description': 'Number of changes that are field edits. This includes fields changing type and any field\ndeprecation and description changes, but also includes any argument changes and any input object\nfield changes.'}, 'removals': {'type': 'integer', 'description': 'Number of changes that are removals of fields from object, interface, and input types.'}, 'additions': {'type': 'integer', 'description': 'Number of changes that are additions of fields to object, interface, and input types.'}}, 'description': 'Counts for changes to fields of objects, input objects, and interfaces.'}, 'total': {'type': 'object', 'required': ['additions', 'removals', 'edits', 'deprecations'], 'properties': {'edits': {'type': 'integer', 'description': 'Number of changes that are edits. This includes types changing kind, fields and arguments\nchanging type, arguments changing default value, and any description changes. This also includes\nedits to @deprecated reason strings.'}, 'removals': {'type': 'integer', 'description': 'Number of changes that are removals. This includes removing types, removing fields from object,\ninput object, and interface types, removing values from enums, removing members from interfaces\nand unions, and removing arguments. This also includes removing @deprecated usages.'}, 'additions': {'type': 'integer', 'description': 'Number of changes that are additions. This includes adding types, adding fields to object, input\nobject, and interface types, adding values to enums, adding members to interfaces and unions, and\nadding arguments.'}, 'deprecations': {'type': 'integer', 'description': 'Number of changes that are new usages of the @deprecated directive.'}}, 'description': 'Counts for all changes.'}}, 'description': 'Numeric summaries for each type of change in the diff.'}, 'affectedQueries': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Name provided for the operation, which can be empty string if it is an anonymous operation'}, 'isValid': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'Determines if this query validates against the proposed schema'}, 'markedAsSafe': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'Whether the changes were marked as safe and its severity was downgraded for that reason'}, 'markedAsIgnored': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'Whether this operation was ignored and its severity was downgraded for that reason'}}}}, {'type': 'null'}], 'description': 'Operations affected by all changes in the diff.'}}}, {'type': 'null'}], 'description': 'A schema diff comparing against the schema from the most recent previous successful publication.'}, 'compositionResult': {'anyOf': [{'type': 'object', 'required': ['errors'], 'properties': {'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message', 'locations'], 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A machine-readable error code.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the error.'}, 'locations': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer', 'description': 'Line number.'}, 'column': {'type': 'integer', 'description': 'Column number.'}}}, {'type': 'null'}]}, 'description': 'Source locations related to the error.'}}}, 'description': "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."}}}, {'type': 'null'}], 'description': 'The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph.'}}}, {'type': 'null'}], 'description': 'A specific publication of a graph variant pertaining to this launch.'}, 'subgraphChanges': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The subgraph's name."}}}}, {'type': 'null'}], 'description': 'A list of subgraph changes that are included in this launch.'}}}, {'type': 'null'}], 'description': 'Latest launch for the variant, whether successful or not.'}, 'latestApprovedLaunch': {'anyOf': [{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique identifier for this launch.'}, 'status': {'$ref': '#/definitions/LaunchStatus', 'description': "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the launch completed. This value is null until the launch completes.'}}}, {'type': 'null'}], 'description': 'Latest approved launch for the variant, and what is served through Uplink.'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LaunchStatus': {'enum': ['LAUNCH_COMPLETED', 'LAUNCH_FAILED', 'LAUNCH_INITIATED'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'launchId'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'launchId': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'launch': {'anyOf': [{'type': 'object', 'required': ['id', 'status', 'createdAt'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique identifier for this launch.'}, 'status': {'$ref': '#/definitions/LaunchStatus', 'description': "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."}, 'createdAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the launch completed. This value is null until the launch completes.'}, 'publication': {'anyOf': [{'type': 'object', 'properties': {'diffToPrevious': {'anyOf': [{'type': 'object', 'required': ['changeSummary'], 'properties': {'changeSummary': {'type': 'object', 'required': ['total'], 'properties': {'total': {'type': 'object', 'required': ['additions', 'removals', 'edits', 'deprecations'], 'properties': {'edits': {'type': 'integer', 'description': 'Number of changes that are edits. This includes types changing kind, fields and arguments\nchanging type, arguments changing default value, and any description changes. This also includes\nedits to @deprecated reason strings.'}, 'removals': {'type': 'integer', 'description': 'Number of changes that are removals. This includes removing types, removing fields from object,\ninput object, and interface types, removing values from enums, removing members from interfaces\nand unions, and removing arguments. This also includes removing @deprecated usages.'}, 'additions': {'type': 'integer', 'description': 'Number of changes that are additions. This includes adding types, adding fields to object, input\nobject, and interface types, adding values to enums, adding members to interfaces and unions, and\nadding arguments.'}, 'deprecations': {'type': 'integer', 'description': 'Number of changes that are new usages of the @deprecated directive.'}}, 'description': 'Counts for all changes.'}}, 'description': 'Numeric summaries for each type of change in the diff.'}}}, {'type': 'null'}], 'description': 'A schema diff comparing against the schema from the most recent previous successful publication.'}, 'compositionResult': {'anyOf': [{'type': 'object', 'required': ['errors'], 'properties': {'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message', 'locations'], 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A machine-readable error code.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the error.'}, 'locations': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer', 'description': 'Line number.'}, 'column': {'type': 'integer', 'description': 'Column number.'}}}, {'type': 'null'}]}, 'description': 'Source locations related to the error.'}}}, 'description': "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."}}}, {'type': 'null'}], 'description': 'The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph.'}}}, {'type': 'null'}], 'description': 'A specific publication of a graph variant pertaining to this launch.'}, 'subgraphChanges': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The subgraph's name."}}}}, {'type': 'null'}], 'description': 'A list of subgraph changes that are included in this launch.'}}}, {'type': 'null'}], 'description': 'Retrieve a launch for this variant by ID.'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LaunchStatus': {'enum': ['LAUNCH_COMPLETED', 'LAUNCH_FAILED', 'LAUNCH_INITIATED'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'limit': {'type': 'integer', 'default': 20}, 'offset': {'type': 'integer', 'default': 0}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'launchSummaries': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'createdAt'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique identifier for this launch.'}, 'status': {'$ref': '#/definitions/LaunchStatus', 'description': "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."}, 'createdAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the launch completed. This value is null until the launch completes.'}}}}, {'type': 'null'}], 'description': 'A list of launches metadata ordered by date, asc or desc depending on orderBy. The maximum limit is 100.'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LaunchStatus': {'enum': ['LAUNCH_COMPLETED', 'LAUNCH_FAILED', 'LAUNCH_INITIATED'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId'], 'properties': {'limit': {'type': 'integer', 'default': 5}, 'graphId': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['checkWorkflows'], 'properties': {'checkWorkflows': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'tasks'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, 'tasks': {'type': 'array', 'items': {'type': 'object', 'properties': {'result': {'anyOf': [{'type': 'object', 'required': ['diagnostics', 'stats'], 'properties': {'stats': {'type': 'object', 'required': ['errorsCount', 'warningsCount', 'totalCount', 'ignoredCount'], 'properties': {'totalCount': {'type': 'integer', 'description': 'Total number of lint rules violated.'}, 'errorsCount': {'type': 'integer', 'description': 'Total number of lint errors.'}, 'ignoredCount': {'type': 'integer', 'description': 'Total number of lint rules ignored.'}, 'warningsCount': {'type': 'integer', 'description': 'Total number of lint warnings.'}}, 'description': 'Stats generated from the resulting diagnostics.'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['coordinate', 'level', 'message', 'rule', 'sourceLocations'], 'properties': {'rule': {'$ref': '#/definitions/LintRule', 'description': 'The lint rule being violated.'}, 'level': {'$ref': '#/definitions/LintDiagnosticLevel', 'description': "The graph's configured level for the rule."}, 'message': {'type': 'string', 'description': 'The message describing the rule violation.'}, 'coordinate': {'type': 'string', 'description': 'The schema coordinate of this diagnostic.'}, 'sourceLocations': {'type': 'array', 'items': {'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}, {'type': 'null'}]}, 'subgraphName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}, 'description': 'The human readable position in the file of the rule violation.'}}}, 'description': 'The set of lint rule violations found in the schema.'}}}, {'type': 'null'}]}, 'status': {'$ref': '#/definitions/CheckWorkflowTaskStatus'}}}, 'description': 'The set of check tasks associated with this workflow, e.g. composition, operations, etc.'}, 'status': {'$ref': '#/definitions/CheckWorkflowStatus', 'description': 'Overall status of the workflow, based on the underlying task statuses.'}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the check workflow completed.'}, 'implementingServiceName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The name of the implementing service that was responsible for triggering the validation.'}}}, 'description': 'Get check workflows for this graph ordered by creation time, most recent first.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LintRule': {'enum': ['ALL_ELEMENTS_REQUIRE_DESCRIPTION', 'CONTACT_DIRECTIVE_MISSING', 'DEFINED_TYPES_ARE_UNUSED', 'DEPRECATED_DIRECTIVE_MISSING_REASON', 'DIRECTIVE_COMPOSITION', 'DIRECTIVE_NAMES_SHOULD_BE_CAMEL_CASE', 'DOES_NOT_PARSE', 'ENUM_PREFIX', 'ENUM_SUFFIX', 'ENUM_USED_AS_INPUT_WITHOUT_SUFFIX', 'ENUM_USED_AS_OUTPUT_DESPITE_SUFFIX', 'ENUM_VALUES_SHOULD_BE_SCREAMING_SNAKE_CASE', 'FIELD_NAMES_SHOULD_BE_CAMEL_CASE', 'FROM_SUBGRAPH_DOES_NOT_EXIST', 'INCONSISTENT_ARGUMENT_PRESENCE', 'INCONSISTENT_BUT_COMPATIBLE_ARGUMENT_TYPE', 'INCONSISTENT_BUT_COMPATIBLE_FIELD_TYPE', 'INCONSISTENT_DEFAULT_VALUE_PRESENCE', 'INCONSISTENT_DESCRIPTION', 'INCONSISTENT_ENTITY', 'INCONSISTENT_ENUM_VALUE_FOR_INPUT_ENUM', 'INCONSISTENT_ENUM_VALUE_FOR_OUTPUT_ENUM', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_LOCATIONS', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_PRESENCE', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_REPEATABLE', 'INCONSISTENT_INPUT_OBJECT_FIELD', 'INCONSISTENT_INTERFACE_VALUE_TYPE_FIELD', 'INCONSISTENT_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'INCONSISTENT_OBJECT_VALUE_TYPE_FIELD', 'INCONSISTENT_RUNTIME_TYPES_FOR_SHAREABLE_RETURN', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_LOCATIONS', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_REPEATABLE', 'INCONSISTENT_UNION_MEMBER', 'INPUT_ARGUMENT_NAMES_SHOULD_BE_CAMEL_CASE', 'INPUT_TYPE_SUFFIX', 'INTERFACE_PREFIX', 'INTERFACE_SUFFIX', 'MERGED_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'NO_EXECUTABLE_DIRECTIVE_INTERSECTION', 'NULLABLE_PATH_VARIABLE', 'OBJECT_PREFIX', 'OBJECT_SUFFIX', 'OVERRIDDEN_FIELD_CAN_BE_REMOVED', 'OVERRIDE_DIRECTIVE_CAN_BE_REMOVED', 'OVERRIDE_MIGRATION_IN_PROGRESS', 'QUERY_DOCUMENT_DECLARATION', 'RESTY_FIELD_NAMES', 'TAG_DIRECTIVE_USES_UNKNOWN_NAME', 'TYPE_NAMES_SHOULD_BE_PASCAL_CASE', 'TYPE_PREFIX', 'TYPE_SUFFIX', 'UNUSED_ENUM_TYPE'], 'type': 'string'}, 'CheckWorkflowStatus': {'enum': ['FAILED', 'PASSED', 'PENDING'], 'type': 'string'}, 'LintDiagnosticLevel': {'enum': ['ERROR', 'IGNORED', 'WARNING'], 'type': 'string', 'description': 'The severity level of an lint result.'}, 'CheckWorkflowTaskStatus': {'enum': ['BLOCKED', 'FAILED', 'PASSED', 'PENDING'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'me': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The identity's identifier, which is unique among objects of its type."}, 'name': {'type': 'string', 'description': "The identity's human-readable name."}, 'account': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "Globally unique identifier, which isn't guaranteed stable (can be changed by administrators)."}, 'name': {'type': 'string', 'description': "Name of the organization, which can change over time and isn't unique. If the organization has no company\nname set, this falls back to the organization's ID."}}}, {'type': 'null'}], 'description': 'The organization that this graph belongs to.'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}}, 'description': 'A list of the variants for this graph.'}, '__typename': {'type': 'string', 'description': 'The typename of this object'}, 'memberships': {'type': 'array', 'items': {'type': 'object', 'required': ['account'], 'properties': {'account': {'type': 'object', 'required': ['id', 'name', 'graphs'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "Globally unique identifier, which isn't guaranteed stable (can be changed by administrators)."}, 'name': {'type': 'string', 'description': "Name of the organization, which can change over time and isn't unique. If the organization has no company\nname set, this falls back to the organization's ID."}, 'graphs': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'variants'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The graph's globally unique identifier."}, 'name': {'type': 'string'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}}, 'description': 'A list of the variants for this graph.'}}}, 'description': 'Graphs belonging to this organization.'}}, 'description': 'The organization that the user belongs to.'}}}, 'description': "A list of the user's memberships in Apollo Studio organizations."}, 'organization': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "Globally unique identifier, which isn't guaranteed stable (can be changed by administrators)."}, 'name': {'type': 'string', 'description': "Name of the organization, which can change over time and isn't unique. If the organization has no company\nname set, this falls back to the organization's ID."}}}, {'type': 'null'}], 'description': 'The organization this service account belongs to.'}}}, {'type': 'null'}], 'description': 'Returns details of the authenticated `User` or `Graph` executing this query. If this is an unauthenticated query (i.e., no API key is provided), this field returns null.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'from', 'to'], 'properties': {'to': {'$ref': '#/definitions/Timestamp', 'description': 'The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601).'}, 'from': {'$ref': '#/definitions/Timestamp', 'description': 'The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601).'}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 50, 'description': 'Maximum number of records to return (default: 100, max 10000).'}, 'clients': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'$ref': '#/definitions/OperationInsightsTimeseriesReportClientFilterInInput'}, {'type': 'null'}]}}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'orderBy': {'anyOf': [{'$ref': '#/definitions/OperationInsightsTimeseriesReportMetric'}, {'type': 'null'}], 'default': 'REQUEST_COUNT'}, 'resolution': {'anyOf': [{'$ref': '#/definitions/TimeseriesReportResolution'}, {'type': 'null'}], 'default': 'ENTIRE_RANGE', 'description': "The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and\n'to' timestamps:\n- For the MINUTE resolution, the total time between 'from' and 'to' must be no more than 1 day, and the 'from' time must be no earlier than 30 days ago.\n- For the HOUR resolution, the total time between 'from' and 'to' must be no more than 7 days, and the 'from' time must be no earlier than 90 days ago.\n- For the DAY, MONTH, and ENTIRE_RANGE resolutions, the 'from' time must be no earlier than 549 days ago (approx 18 months), and the 'to' time must be no later than 1 day ago.\nIf these criteria are not met, this will return a REQUEST_INVALID error."}, 'variantName': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, {'type': 'null'}]}}, 'definitions': {'Timestamp': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'TimeseriesReportResolution': {'enum': ['DAY', 'ENTIRE_RANGE', 'HOUR', 'MINUTE', 'MONTH'], 'type': 'string', 'description': 'The size of each time bucket in a timeseries report.\n\nValues:\nDAY: One-day buckets.\nENTIRE_RANGE: Single bucket containing the entire time range.\nHOUR: One-hour buckets.\nMINUTE: One-minute buckets.\nMONTH: One-month buckets.'}, 'OperationInsightsTimeseriesReportMetric': {'enum': ['REQUEST_COUNT', 'REQUEST_LATENCY_P50_MS', 'REQUEST_LATENCY_P90_MS', 'REQUEST_LATENCY_P99_MS', 'REQUEST_WITH_ERROR_COUNT'], 'type': 'string', 'description': '\n\nValues:\nREQUEST_COUNT: \nREQUEST_LATENCY_P50_MS: \nREQUEST_LATENCY_P90_MS: \nREQUEST_LATENCY_P99_MS: \nREQUEST_WITH_ERROR_COUNT: '}, 'OperationInsightsTimeseriesReportClientFilterInInput': {'type': 'object', 'properties': {'clientName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The client name.'}, 'clientVersion': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The client version.'}}, 'description': 'The named type and version of the clients to include or exclude in the operation timeseries report.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['operationInsightsTimeseriesReport'], 'properties': {'operationInsightsTimeseriesReport': {'type': 'object', 'properties': {'csv': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A CSV representation of the results. This includes a header and rows that have a column for start and end timestamp and all requested dimensions and metrics.'}}, 'description': ' Returns a timeseries of operation metrics across a specified time range for this graph. This will return specified metrics (request count,\n avg latency, etc) grouped by time and the specified dimensions (query ID, query name, client name, etc). This API is rate limited and only\n allows a small number of requests per minute, and will return a RATE_LIMIT_EXCEEDED error if too many requests are made for a graph. If a\nrequest to this field times out, we recommend that you try a shorter time range or fewer dimensions.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'persistedQueryList': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currentBuild'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The immutable ID for this Persisted Query List.'}, 'name': {'type': 'string', 'description': "The list's name; can be changed and does not need to be unique."}, 'currentBuild': {'type': 'object', 'required': ['revision', 'totalOperationsInList'], 'properties': {'revision': {'type': 'integer', 'description': 'The revision of this Persisted Query List. Revision 0 is the initial empty list; each publish increments the revision by 1.'}, 'totalOperationsInList': {'type': 'integer', 'description': 'The total number of operations in the list after this build. Compare to PersistedQueriesPublish.operationCounts.'}}, 'description': 'The current build of this PQL.'}}}, {'type': 'null'}], 'description': 'The Persisted Query List linked to this variant, if any.'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['readme'], 'properties': {'readme': {'type': 'object', 'required': ['id', 'content'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The README's unique ID. `a15177c0-b003-4837-952a-dbfe76062eb1` for the default README"}, 'content': {'type': 'string', 'description': 'The contents of the README in plaintext.'}, 'lastUpdatedBy': {'anyOf': [{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The identity's human-readable name."}}}, {'type': 'null'}], 'description': 'The actor that most recently updated the README (usually a `User`). `null` for the default README, or if the `User` was deleted.'}, 'lastUpdatedTime': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the README was most recently updated. `null` for the default README'}}}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId'], 'properties': {'ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 20}, 'offset': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 0}, 'status': {'anyOf': [{'$ref': '#/definitions/CheckFilterInputStatusOption'}, {'type': 'null'}]}, 'authors': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'branches': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'variants': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'subgraphs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}}, 'definitions': {'CheckFilterInputStatusOption': {'enum': ['FAILED', 'PENDING', 'PASSED'], 'type': 'string', 'description': 'Options for filtering CheckWorkflows by status\nThis should always match CheckWorkflowStatus\n\nValues:\nFAILED: \nPENDING: \nPASSED: '}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['totalCheckWorkflowCount', 'checkWorkflows'], 'properties': {'checkWorkflows': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'createdAt', 'tasks'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, 'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['status'], 'properties': {'status': {'$ref': '#/definitions/CheckWorkflowTaskStatus', 'description': 'The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED.'}, '__typename': {'type': 'string', 'description': 'The typename of this object'}}}, 'description': 'The set of check tasks associated with this workflow, e.g. composition, operations, etc.'}, 'status': {'$ref': '#/definitions/CheckWorkflowStatus', 'description': 'Overall status of the workflow, based on the underlying task statuses.'}, 'createdAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'startedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the check workflow started.'}, 'gitContext': {'anyOf': [{'type': 'object', 'properties': {'commit': {'anyOf': [{'oneOf': [{'type': 'string'}, {'type': 'integer'}]}, {'type': 'null'}]}}}, {'type': 'null'}], 'description': 'Contextual parameters supplied by the runtime environment where the check was run.'}, 'baseVariant': {'anyOf': [{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}}, {'type': 'null'}], 'description': 'The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks.'}, 'completedAt': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the check workflow completed.'}, 'implementingServiceName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The name of the implementing service that was responsible for triggering the validation.'}}}, 'description': 'Get check workflows for this graph ordered by creation time, most recent first.'}, 'totalCheckWorkflowCount': {'type': 'integer', 'description': 'Count checkWorkflows for the given filter. Used for paginating with checkWorkflows.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'CheckWorkflowStatus': {'enum': ['FAILED', 'PASSED', 'PENDING'], 'type': 'string'}, 'CheckWorkflowTaskStatus': {'enum': ['BLOCKED', 'FAILED', 'PASSED', 'PENDING'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'from', 'to'], 'properties': {'to': {'$ref': '#/definitions/Timestamp', 'description': 'The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601).'}, 'from': {'$ref': '#/definitions/Timestamp', 'description': 'The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601).'}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 50, 'description': 'Maximum number of records to return (default: 100, max 10000).'}, 'clients': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'$ref': '#/definitions/SubgraphInsightsTimeseriesReportClientFilterInInput'}, {'type': 'null'}]}}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'orderBy': {'anyOf': [{'$ref': '#/definitions/SubgraphInsightsTimeseriesReportMetric'}, {'type': 'null'}], 'default': 'FETCH_COUNT'}, 'resolution': {'anyOf': [{'$ref': '#/definitions/TimeseriesReportResolution'}, {'type': 'null'}], 'default': 'ENTIRE_RANGE', 'description': "The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and\n'to' timestamps:\n- For the MINUTE resolution, the total time between 'from' and 'to' must be no more than 1 day, and the 'from' time must be no earlier than 30 days ago.\n- For the HOUR resolution, the total time between 'from' and 'to' must be no more than 7 days, and the 'from' time must be no earlier than 90 days ago.\n- For the DAY, MONTH, and ENTIRE_RANGE resolutions, the 'from' time must be no earlier than 549 days ago (approx 18 months), and the 'to' time must be no later than 1 day ago.\nIf these criteria are not met, this will return a REQUEST_INVALID error."}, 'variantName': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, {'type': 'null'}]}, 'subgraphName': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, {'type': 'null'}]}}, 'definitions': {'Timestamp': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'TimeseriesReportResolution': {'enum': ['DAY', 'ENTIRE_RANGE', 'HOUR', 'MINUTE', 'MONTH'], 'type': 'string', 'description': 'The size of each time bucket in a timeseries report.\n\nValues:\nDAY: One-day buckets.\nENTIRE_RANGE: Single bucket containing the entire time range.\nHOUR: One-hour buckets.\nMINUTE: One-minute buckets.\nMONTH: One-month buckets.'}, 'SubgraphInsightsTimeseriesReportMetric': {'enum': ['FETCH_COUNT', 'FETCH_LATENCY_P50_MS', 'FETCH_LATENCY_P90_MS', 'FETCH_LATENCY_P99_MS', 'FETCH_WITH_ERRORS_COUNT'], 'type': 'string', 'description': 'Metrics available for subgraph and connector timeseries fetches, representing aggregated data\ncollected over the given time window for the selected dimensions. Each request from the router to a downstream subgraph\nor connector service is counted as a fetch.\n\nValues:\nFETCH_COUNT: The total number of fetch requests sent from the router to the downstream subgraph or connector service as part of its query plan execution.\nFETCH_LATENCY_P50_MS: The 50th percentile (median) latency of fetches (in milliseconds).\nFETCH_LATENCY_P90_MS: The 90th percentile latency of fetch requests (in milliseconds).\nFETCH_LATENCY_P99_MS: The 99th percentile latency of fetch requests (in milliseconds).\nFETCH_WITH_ERRORS_COUNT: The number of fetch requests that resulted in error responses from the downstream service.'}, 'SubgraphInsightsTimeseriesReportClientFilterInInput': {'type': 'object', 'properties': {'clientName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The client name.'}, 'clientVersion': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The client version.'}}, 'description': 'The named type and version of the clients to include or exclude in the subgraph and connector timeseries report.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['subgraphInsightsTimeseriesReport'], 'properties': {'subgraphInsightsTimeseriesReport': {'type': 'object', 'properties': {'csv': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A CSV representation of the results. This includes a header and rows that have a column for start and end timestamp and all requested dimensions and metrics.'}}, 'description': ' Returns a timeseries of subgraph and connector fetch metrics across a specified time range for this graph. Each\nrequest from the router to a subgraph or connector service is counted as a fetch. A single GraphQL operation can\nresult in multiple fetches, depending on the operation shape and query plan. This will return specified metrics (fetch\ncount, avg latency, etc.) grouped by time and the specified dimensions (fetch service ID, fetch service name, client\nname, etc.). This API is rate limited and only allows a small number of requests per minute, and will return a\nRATE_LIMIT_EXCEEDED error if too many requests are made for a graph. If a request to this field times out, we\nrecommend that you try a shorter time range or fewer dimensions.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'subgraphName'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'subgraphName': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'subgraph': {'anyOf': [{'type': 'object', 'required': ['name', 'revision', 'updatedAt', 'activePartialSchema'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The URL of the subgraph's GraphQL endpoint."}, 'name': {'type': 'string', 'description': "The subgraph's name."}, 'revision': {'type': 'string', 'description': 'The current user-provided version/edition of the subgraph. Typically a Git SHA or docker image ID.'}, 'updatedAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'activePartialSchema': {'type': 'object', 'required': ['sdl'], 'properties': {'sdl': {'type': 'string', 'description': 'The subgraph schema document as SDL.'}}, 'description': "The subgraph's current active schema, used in supergraph composition for the the associated variant."}}}, {'type': 'null'}], 'description': "Returns the details of the subgraph with the provided `name`, or null if this variant doesn't include a subgraph with that name."}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'latestPublication': {'anyOf': [{'type': 'object', 'required': ['publishedAt'], 'properties': {'publishedAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, 'compositionResult': {'anyOf': [{'type': 'object', 'required': ['graphCompositionID', 'errors'], 'properties': {'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A machine-readable error code.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the error.'}}}, 'description': "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."}, 'supergraphSdl': {'anyOf': [{'type': 'string', 'description': 'A GraphQL document, such as a schema in SDL syntax.'}, {'type': 'null'}], 'description': 'Supergraph SDL generated by composition.'}, 'graphCompositionID': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique ID for this instance of composition.'}}}, {'type': 'null'}], 'description': 'The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph.'}}}, {'type': 'null'}], 'description': "The details of the variant's most recent publication."}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'from', 'to'], 'properties': {'to': {'$ref': '#/definitions/Timestamp', 'description': "The ending timestamp for the report.\n\n- Must be in the format: 2025-01-01T08:00:00Z (ISO 8601).\n- Must be at least 6 hours from the current time.\n - The duration between 'from' and 'to' must not exceed 31 days."}, 'from': {'$ref': '#/definitions/Timestamp', 'description': "The starting timestamp for the report.\n\n- Must be in the format: 2025-01-01T00:00:00Z (ISO 8601).\n - Must be within the last 549 days.\n - The duration between 'from' and 'to' must not exceed 31 days."}, 'limit': {'type': 'integer', 'default': 50, 'description': 'Maximum number of records to return (default: 10)'}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}, 'definitions': {'Timestamp': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['topOperationsReport'], 'properties': {'topOperationsReport': {'type': 'array', 'items': {'type': 'object', 'required': ['operationId', 'requestCount'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The operation name or null if the operation is unnamed.'}, 'type': {'anyOf': [{'$ref': '#/definitions/OperationType'}, {'type': 'null'}], 'description': 'The operation type or null if the operation type could not be determined from the signature.'}, 'signature': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The operation's signature body or null if the signature is unavailable due to parse errors."}, 'operationId': {'type': 'string', 'description': 'The unique id for this operation.'}, 'requestCount': {'description': 'Long type'}}}, 'description': 'Returns a list of the top operations reported for this variant within a given time range. This API is rate limited,\nand will return an error if too many requests are made for a graph.'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'OperationType': {'enum': ['MUTATION', 'QUERY', 'SUBSCRIPTION'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The variant's global identifier in the form `graphID@variant`."}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The URL of the variant's GraphQL endpoint for query and mutation operations. For subscription operations, use `subscriptionUrl`."}, 'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}, 'subgraphs': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The subgraph's name."}}}}, {'type': 'null'}], 'description': 'A list of the subgraphs included in this variant. This value is null for non-federated variants. Set `includeDeleted` to `true` to include deleted subgraphs.'}, 'federationVersion': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Federation version this variant uses'}}}, {'type': 'null'}], 'description': 'Provides details of the graph variant with the provided `name`, if a variant\nwith that name exists for this graph. Otherwise, returns null.\n\n For a list of _all_ variants associated with a graph, use `Graph.variants` instead.'}}}, {'type': 'null'}], 'description': 'Returns details of the graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'sdl'], 'properties': {'sdl': {'type': 'string', 'description': 'The schema to lint.'}, 'baseSdl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The schema to diff rule violations against, if not provided the full set of rule violations will be returned for the proposed sdl.'}, 'graphId': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['lintSchema'], 'properties': {'lintSchema': {'type': 'object', 'required': ['diagnostics', 'stats'], 'properties': {'stats': {'type': 'object', 'required': ['errorsCount', 'warningsCount', 'totalCount', 'ignoredCount'], 'properties': {'totalCount': {'type': 'integer', 'description': 'Total number of lint rules violated.'}, 'errorsCount': {'type': 'integer', 'description': 'Total number of lint errors.'}, 'ignoredCount': {'type': 'integer', 'description': 'Total number of lint rules ignored.'}, 'warningsCount': {'type': 'integer', 'description': 'Total number of lint warnings.'}}, 'description': 'Stats generated from the resulting diagnostics.'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['coordinate', 'level', 'message', 'rule', 'sourceLocations'], 'properties': {'rule': {'$ref': '#/definitions/LintRule', 'description': 'The lint rule being violated.'}, 'level': {'$ref': '#/definitions/LintDiagnosticLevel', 'description': "The graph's configured level for the rule."}, 'message': {'type': 'string', 'description': 'The message describing the rule violation.'}, 'coordinate': {'type': 'string', 'description': 'The schema coordinate of this diagnostic.'}, 'sourceLocations': {'type': 'array', 'items': {'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}, {'type': 'null'}]}, 'subgraphName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}, 'description': 'The human readable position in the file of the rule violation.'}}}, 'description': 'The set of lint rule violations found in the schema.'}}, 'description': "Lint a single schema using the graph's linter configuration."}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LintRule': {'enum': ['ALL_ELEMENTS_REQUIRE_DESCRIPTION', 'CONTACT_DIRECTIVE_MISSING', 'DEFINED_TYPES_ARE_UNUSED', 'DEPRECATED_DIRECTIVE_MISSING_REASON', 'DIRECTIVE_COMPOSITION', 'DIRECTIVE_NAMES_SHOULD_BE_CAMEL_CASE', 'DOES_NOT_PARSE', 'ENUM_PREFIX', 'ENUM_SUFFIX', 'ENUM_USED_AS_INPUT_WITHOUT_SUFFIX', 'ENUM_USED_AS_OUTPUT_DESPITE_SUFFIX', 'ENUM_VALUES_SHOULD_BE_SCREAMING_SNAKE_CASE', 'FIELD_NAMES_SHOULD_BE_CAMEL_CASE', 'FROM_SUBGRAPH_DOES_NOT_EXIST', 'INCONSISTENT_ARGUMENT_PRESENCE', 'INCONSISTENT_BUT_COMPATIBLE_ARGUMENT_TYPE', 'INCONSISTENT_BUT_COMPATIBLE_FIELD_TYPE', 'INCONSISTENT_DEFAULT_VALUE_PRESENCE', 'INCONSISTENT_DESCRIPTION', 'INCONSISTENT_ENTITY', 'INCONSISTENT_ENUM_VALUE_FOR_INPUT_ENUM', 'INCONSISTENT_ENUM_VALUE_FOR_OUTPUT_ENUM', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_LOCATIONS', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_PRESENCE', 'INCONSISTENT_EXECUTABLE_DIRECTIVE_REPEATABLE', 'INCONSISTENT_INPUT_OBJECT_FIELD', 'INCONSISTENT_INTERFACE_VALUE_TYPE_FIELD', 'INCONSISTENT_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'INCONSISTENT_OBJECT_VALUE_TYPE_FIELD', 'INCONSISTENT_RUNTIME_TYPES_FOR_SHAREABLE_RETURN', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_LOCATIONS', 'INCONSISTENT_TYPE_SYSTEM_DIRECTIVE_REPEATABLE', 'INCONSISTENT_UNION_MEMBER', 'INPUT_ARGUMENT_NAMES_SHOULD_BE_CAMEL_CASE', 'INPUT_TYPE_SUFFIX', 'INTERFACE_PREFIX', 'INTERFACE_SUFFIX', 'MERGED_NON_REPEATABLE_DIRECTIVE_ARGUMENTS', 'NO_EXECUTABLE_DIRECTIVE_INTERSECTION', 'NULLABLE_PATH_VARIABLE', 'OBJECT_PREFIX', 'OBJECT_SUFFIX', 'OVERRIDDEN_FIELD_CAN_BE_REMOVED', 'OVERRIDE_DIRECTIVE_CAN_BE_REMOVED', 'OVERRIDE_MIGRATION_IN_PROGRESS', 'QUERY_DOCUMENT_DECLARATION', 'RESTY_FIELD_NAMES', 'TAG_DIRECTIVE_USES_UNKNOWN_NAME', 'TYPE_NAMES_SHOULD_BE_PASCAL_CASE', 'TYPE_PREFIX', 'TYPE_SUFFIX', 'UNUSED_ENUM_TYPE'], 'type': 'string'}, 'LintDiagnosticLevel': {'enum': ['ERROR', 'IGNORED', 'WARNING'], 'type': 'string', 'description': 'The severity level of an lint result.'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'contractVariant', 'include', 'exclude', 'hideUnreachableTypes'], 'properties': {'exclude': {'type': 'array', 'items': {'type': 'string'}}, 'graphId': {'type': 'string'}, 'include': {'type': 'array', 'items': {'type': 'string'}}, 'sourceVariant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The graphRef of the variant the contract will be derived from, e.g. `my-graph@production`. Once set, this value cannot be changed.'}, 'initiateLaunch': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': True, 'description': 'Whether a launch and schema publish should be initiated after updating configuration. Defaults to `true`.'}, 'contractVariant': {'type': 'string', 'description': 'The name of the contract variant, e.g. `public-api`. Once set, this value cannot be changed.'}, 'hideUnreachableTypes': {'type': 'boolean'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['upsertContractVariant'], 'properties': {'upsertContractVariant': {'anyOf': [{'type': 'object', 'required': ['contractVariant'], 'properties': {'launchUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The URL of the Studio page for this update's associated launch, if available."}, 'contractVariant': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}}, 'description': 'The updated contract variant'}}}, {'type': 'object', 'required': ['errorMessages'], 'properties': {'errorMessages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'A list of all errors that occurred when attempting to create or update a contract variant.'}}}], 'description': 'Creates a contract schema from a source variant and a set of filter configurations'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'schemaDocument'], 'properties': {'branch': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'commit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'schemaDocument': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'uploadSchema': {'anyOf': [{'type': 'object', 'required': ['code', 'success', 'message'], 'properties': {'code': {'type': 'string', 'description': 'A machine-readable response code that indicates the type of result (e.g., `UPLOAD_SUCCESS` or `NO_CHANGES`)'}, 'message': {'type': 'string', 'description': 'A Human-readable message describing the type of result.'}, 'success': {'type': 'boolean', 'description': 'Whether the schema publish operation succeeded (`true`) or encountered errors (`false`).'}, 'publication': {'anyOf': [{'type': 'object', 'required': ['publishedAt', 'schema'], 'properties': {'schema': {'type': 'object', 'required': ['hash'], 'properties': {'hash': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The GraphQL schema document's SHA256 hash, represented as a hexadecimal string."}}, 'description': 'The schema that was published to the variant.'}, 'publishedAt': {'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}}}, {'type': 'null'}], 'description': 'If the publish operation succeeded, this contains its details. Otherwise, this is null.'}}}, {'type': 'null'}], 'description': 'Publish a schema to this variant, either via a document or an introspection query result.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'listId'], 'properties': {'listId': {'type': 'string'}, 'remove': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/definitions/PersistedQueryIdInput'}}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'operations': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/definitions/PersistedQueryInput'}}, {'type': 'null'}]}, 'allowOverwrittenOperations': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'definitions': {'OperationType': {'enum': ['MUTATION', 'QUERY', 'SUBSCRIPTION'], 'type': 'string', 'description': '\n\nValues:\nMUTATION: \nQUERY: \nSUBSCRIPTION: '}, 'GraphQLDocument': {'type': 'string', 'description': 'A GraphQL document, such as a schema in SDL syntax.'}, 'PersistedQueryInput': {'type': 'object', 'required': ['body', 'id', 'name', 'type'], 'properties': {'id': {'type': 'string', 'description': "An opaque identifier for this operation. This should map uniquely to an operation body; editing the body should generally result in a new ID. Apollo's tools generally use the lowercase hex SHA256 of the operation body."}, 'body': {'$ref': '#/definitions/GraphQLDocument', 'description': 'The GraphQL document for this operation, including all necessary fragment definitions.'}, 'name': {'type': 'string', 'description': 'A name for the operation. Typically this is the name of the actual GraphQL operation in the body. This does not need to be unique within a Persisted Query List; as a client project evolves and its operations change, multiple operations with the same name (but different body and id) can be published.'}, 'type': {'$ref': '#/definitions/OperationType', 'description': "The operation's type."}, 'clientName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'An optional client name to associate with the operation. Two operations with the same ID but different client names are treated as distinct operations.'}}, 'description': 'Operations to be published to the Persisted Query List.'}, 'PersistedQueryIdInput': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "An opaque identifier for this operation. For a given client name, this should map uniquely to an operation body; editing the body should generally result in a new ID. Apollo's tools generally use the lowercase hex SHA256 of the operation body."}, 'clientName': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'An optional client name to associate with the operation. Two operations with the same ID but different client names are treated as distinct operations. An operation with the same ID and a null client name is treated as a distinct operation as well.'}}, 'description': 'Full identifier for an operation in a Persisted Query List.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['persistedQueryList'], 'properties': {'persistedQueryList': {'type': 'object', 'required': ['publishOperations'], 'properties': {'publishOperations': {'anyOf': [{'type': 'object', 'required': ['unchanged', 'build'], 'properties': {'build': {'type': 'object', 'required': ['revision', 'totalOperationsInList'], 'properties': {'revision': {'type': 'integer', 'description': 'The revision of this Persisted Query List. Revision 0 is the initial empty list; each publish increments the revision by 1.'}, 'totalOperationsInList': {'type': 'integer', 'description': 'The total number of operations in the list after this build. Compare to PersistedQueriesPublish.operationCounts.'}}, 'description': 'The build created by this publish operation.'}, 'unchanged': {'type': 'boolean', 'description': 'Returns `true` if no changes were made by this publish (and no new revision was created). Otherwise, returns `false`.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string'}}}], 'description': 'Updates this Persisted Query List by publishing a set of operations and removing other operations. Operations not mentioned remain in the list unchanged.'}}, 'description': 'Provides access to mutation fields for modifying a Persisted Query List with the provided ID.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'readme'], 'properties': {'readme': {'type': 'string', 'description': 'The full new text of the README, as a Markdown-formatted string.'}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'properties': {'updateVariantReadme': {'anyOf': [{'type': 'object', 'required': ['name', 'readme'], 'properties': {'name': {'type': 'string', 'description': "The variant's name (e.g., `staging`)."}, 'readme': {'type': 'object', 'required': ['id', 'content'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': "The README's unique ID. `a15177c0-b003-4837-952a-dbfe76062eb1` for the default README"}, 'content': {'type': 'string', 'description': 'The contents of the README in plaintext.'}, 'lastUpdatedTime': {'anyOf': [{'description': 'ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)'}, {'type': 'null'}], 'description': 'The timestamp when the README was most recently updated. `null` for the default README'}}}}}, {'type': 'null'}], 'description': 'Updates the [README](https://www.apollographql.com/docs/studio/org/graphs/#the-readme-page) of this variant.'}}}, {'type': 'null'}], 'description': 'Make changes to a graph variant.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'subgraphName', 'sdl'], 'properties': {'sdl': {'type': 'string'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'branch': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'commit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'revision': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': ''}, 'subgraphName': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'publishSubgraph': {'anyOf': [{'type': 'object', 'required': ['wasCreated', 'wasUpdated', 'updatedGateway', 'subgraphsCreated', 'subgraphsUpdated', 'errors'], 'properties': {'errors': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['message', 'locations'], 'properties': {'code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'A machine-readable error code.'}, 'message': {'type': 'string', 'description': 'A human-readable message describing the error.'}, 'locations': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['line', 'column'], 'properties': {'line': {'type': 'integer', 'description': 'Line number.'}, 'column': {'type': 'integer', 'description': 'Column number.'}}}, {'type': 'null'}]}, 'description': 'Source locations related to the error.'}}}, {'type': 'null'}]}, 'description': "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."}, 'launch': {'anyOf': [{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique identifier for this launch.'}, 'status': {'$ref': '#/definitions/LaunchStatus', 'description': "The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."}}}, {'type': 'null'}], 'description': 'The Launch result part of this subgraph publish.'}, 'launchUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The URL of the Studio page for this update's associated launch, if available."}, 'wasCreated': {'type': 'boolean', 'description': 'Whether a new subgraph was created as part of this publish.'}, 'wasUpdated': {'type': 'boolean', 'description': 'Whether an implementingService was updated as part of this mutation'}, 'updatedGateway': {'type': 'boolean', 'description': 'Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result.'}, 'subgraphsCreated': {'type': 'array', 'items': {'type': 'string'}, 'description': 'All subgraphs that were created from this mutation'}, 'subgraphsUpdated': {'type': 'array', 'items': {'type': 'string'}, 'description': 'All subgraphs that were updated from this mutation'}}}, {'type': 'null'}], 'description': 'Publish to a subgraph. If composition is successful, this will update running routers.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'LaunchStatus': {'enum': ['LAUNCH_COMPLETED', 'LAUNCH_FAILED', 'LAUNCH_INITIATED'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'proposedSchema'], 'properties': {'branch': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'commit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'proposedSchema': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['submitCheckSchemaAsync'], 'properties': {'submitCheckSchemaAsync': {'anyOf': [{'type': 'object', 'required': ['workflowID', 'targetURL'], 'properties': {'targetURL': {'type': 'string', 'description': 'The URL of the Apollo Studio page for this check.'}, 'workflowID': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique ID for this execution of schema checks.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}], 'description': '_Asynchronously_ kicks off operation checks for a proposed non-federated\nschema change against its associated graph.\n\nReturns a `CheckRequestSuccess` object with a workflow ID that you can use\nto check status, or an error object if the checks workflow failed to start.\n\nRate limited to 3000 per min. Schema checks cannot be performed on contract variants.'}}}, {'type': 'null'}], 'description': 'Make changes to a graph variant.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'variant', 'subgraphName', 'proposedSchema'], 'properties': {'branch': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'commit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'graphId': {'type': 'string'}, 'variant': {'type': 'string'}, 'subgraphName': {'type': 'string'}, 'proposedSchema': {'$ref': '#/definitions/GraphQLDocument'}}, 'definitions': {'GraphQLDocument': {'type': 'string', 'description': 'A GraphQL document, such as a schema in SDL syntax.'}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'properties': {'variant': {'anyOf': [{'type': 'object', 'required': ['submitSubgraphCheckAsync'], 'properties': {'submitSubgraphCheckAsync': {'anyOf': [{'type': 'object', 'required': ['workflowID', 'targetURL'], 'properties': {'targetURL': {'type': 'string', 'description': 'The URL of the Apollo Studio page for this check.'}, 'workflowID': {'oneOf': [{'type': 'string'}, {'type': 'integer'}], 'description': 'The unique ID for this execution of schema checks.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}, {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The error message.'}}}], 'description': '_Asynchronously_ kicks off composition and operation checks for a proposed subgraph schema change against its associated supergraph.\n\nReturns a `CheckRequestSuccess` object with a workflow ID that you can use\nto check status, or an error object if the checks workflow failed to start.\n\nRate limited to 3000 per min. Subgraph checks cannot be performed on contract variants.'}}}, {'type': 'null'}], 'description': 'Make changes to a graph variant.'}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}}
Esquema de entrada
{'type': 'object', 'required': ['graphId', 'operations'], 'properties': {'graphId': {'type': 'string'}, 'variant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': 'current'}, 'operations': {'type': 'array', 'items': {'$ref': '#/definitions/OperationDocumentInput'}}}, 'definitions': {'OperationDocumentInput': {'type': 'object', 'required': ['body'], 'properties': {'body': {'type': 'string', 'description': 'Operation document body'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Operation name'}}}}}
Esquema de salida
{'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'graph': {'anyOf': [{'type': 'object', 'required': ['validateOperations'], 'properties': {'validateOperations': {'type': 'object', 'required': ['validationResults'], 'properties': {'validationResults': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'code', 'description', 'operation'], 'properties': {'code': {'$ref': '#/definitions/ValidationErrorCode', 'description': "The validation result's error code"}, 'type': {'$ref': '#/definitions/ValidationErrorType', 'description': 'The type of validation error thrown - warning, failure, or invalid.'}, 'operation': {'type': 'object', 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Operation name'}}, 'description': 'The operation related to this validation result'}, 'description': {'type': 'string', 'description': 'Description of the validation error'}}}}}}}}, {'type': 'null'}], 'description': 'Provides access to mutation fields for modifying a Studio graph with the provided ID.'}}}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['message'], 'properties': {'path': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'integer'}]}}, 'message': {'type': 'string'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'line': {'type': 'integer'}, 'column': {'type': 'integer'}}}}, 'extensions': {'type': 'object'}}}}, 'extensions': {'type': 'object'}}, 'definitions': {'ValidationErrorCode': {'enum': ['NON_PARSEABLE_DOCUMENT', 'INVALID_OPERATION', 'DEPRECATED_FIELD'], 'type': 'string'}, 'ValidationErrorType': {'enum': ['FAILURE', 'WARNING', 'INVALID'], 'type': 'string'}}}
Cambios recientes en herramientas
Servidores MCP similares
cypher-mcp
Provides named Cypher graph queries and code-orientation tools for tracing capabilities, symbols, invariants, provenance, changes…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
ALM X++ MCP Server
Supports D365 Finance and Operations development with X++ and AOT search, code analysis, Azure DevOps workflows, telemetry querie…
Kaiku
Manages team issues, comments, attachments, projects, wiki pages, and related development workflows.
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
Forge Engine
Manages software design specifications, systems, milestones, tasks, code mappings, project decisions, UI screens, and implementat…
Avalanche AVAX MCP
Searches and retrieves Avalanche documentation, community proposals, CLI guidance, Builder Console workflows, blockchain identifi…
Github
Reads public GitHub repository files, releases, commits, issues, repository metadata, user profiles, and trending repositories.