Contract Management via the GraphQL API
The contracts of a target can be managed via the Hive Console GraphQL API. For more information, please refer to our schema contracts documentation.
Retrieve a list of all Contracts in Target
Use the Target.contracts
field for retrieving a list of all contracts within the target.
query ContractTargets($targetId: ID!) {
target(reference: { byId: $targetId }) {
id
contracts {
edges {
node {
id
contractName
includeTags
excludeTags
removeUnreachableTypesFromPublicApiSchema
isDisabled
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
Retrieve a list of all Active Contracts in Target
Use the Target.activeContracts
field for retrieving a list of all contracts within the target.
query ActiveContractTargets($targetId: ID!) {
target(reference: { byId: $targetId }) {
id
activeContracts {
edges {
node {
id
contractName
includeTags
excludeTags
removeUnreachableTypesFromPublicApiSchema
isDisabled
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
Create a Contract
Use the Mutation.createContract
field for creating a new contract.
mutation CreateContract($input: CreateContractInput!) {
createContract(input: $input) {
ok {
createdContract {
id
contractName
includeTags
excludeTags
removeUnreachableTypesFromPublicApiSchema
isDisabled
}
}
error {
message
details {
target
contractName
includeTags
excludeTags
}
}
}
}
Disable a Contract
Use the Mutation.disableContract
field for disabling a contract. Note: A disabled contract
cannot be made active again.
mutation DisableContract($input: DisableContractInput!) {
disableContract(input: $input) {
ok {
disabledContract {
id
contractName
includeTags
excludeTags
removeUnreachableTypesFromPublicApiSchema
isDisabled
}
}
error {
message
}
}
}
Delete a Contract
This is not possible. Instead, disable the contract.
Last updated on