{"meta":{"title":"GitHub Apps","intro":"Reference documentation for GraphQL schema types in the GitHub Apps category.","product":"GraphQL API","breadcrumbs":[{"href":"/en/graphql","title":"GraphQL API"},{"href":"/en/graphql/reference","title":"Reference"},{"href":"/en/graphql/reference/apps","title":"GitHub Apps"}],"documentType":"article"},"body":"# GitHub Apps\n\nReference documentation for GraphQL schema types in the GitHub Apps category.\n\n## App - object\n\nA GitHub App.\n\n**Implements:** Node\n\n### Fields for `App`\n\n* `clientId` (String): The client ID of the app.\n* `createdAt` (DateTime!): Identifies the date and time when the object was created.\n* `databaseId` (Int): Identifies the primary key from the database.\n* `description` (String): The description of the app.\n* `id` (ID!): The Node ID of the App object.\n* `ipAllowListEntries` (IpAllowListEntryConnection!): The IP addresses of the app.\n  * `after` (String): Returns the elements in the list that come after the specified cursor.\n  * `before` (String): Returns the elements in the list that come before the specified cursor.\n  * `first` (Int): Returns the first n elements from the list.\n  * `last` (Int): Returns the last n elements from the list.\n  * `orderBy` (IpAllowListEntryOrder): Ordering options for IP allow list entries returned.\n\n* `logoBackgroundColor` (String!): The hex color code, without the leading '#', for the logo background.\n* `logoUrl` (URI!): A URL pointing to the app's logo.\n  * `size` (Int): The size of the resulting image.\n\n* `name` (String!): The name of the app.\n* `slug` (String!): A slug based on the name of the app for use in URLs.\n* `updatedAt` (DateTime!): Identifies the date and time when the object was last updated.\n* `url` (URI!): The URL to the app's homepage.\n\n## Bot - object\n\nA special type of user which takes actions on behalf of GitHub Apps.\n\n**Implements:** Actor, Node, UniformResourceLocatable\n\n### Fields for `Bot`\n\n* `avatarUrl` (URI!): A URL pointing to the GitHub App's public avatar.\n  * `size` (Int): The size of the resulting square image.\n\n* `createdAt` (DateTime!): Identifies the date and time when the object was created.\n* `databaseId` (Int): Identifies the primary key from the database.\n* `id` (ID!): The Node ID of the Bot object.\n* `login` (String!): The username of the actor.\n* `resourcePath` (URI!): The HTTP path for this bot.\n* `updatedAt` (DateTime!): Identifies the date and time when the object was last updated.\n* `url` (URI!): The HTTP URL for this bot.\n\n## marketplaceCategories - query\n\nGet alphabetically sorted list of Marketplace categories.\n\n**Type:** [MarketplaceCategory!]!\n\n### Arguments for `marketplaceCategories`\n\n* `excludeEmpty` (Boolean): Exclude categories with no listings.\n* `excludeSubcategories` (Boolean): Returns top level categories only, excluding any subcategories.\n* `includeCategories` ([String!]): Return only the specified categories.\n\n## MarketplaceCategory - object\n\nA public description of a Marketplace category.\n\n**Implements:** Node\n\n### Fields for `MarketplaceCategory`\n\n* `description` (String): The category's description.\n* `howItWorks` (String): The technical description of how apps listed in this category work with GitHub.\n* `id` (ID!): The Node ID of the MarketplaceCategory object.\n* `name` (String!): The category's name.\n* `primaryListingCount` (Int!): How many Marketplace listings have this as their primary category.\n* `resourcePath` (URI!): The HTTP path for this Marketplace category.\n* `secondaryListingCount` (Int!): How many Marketplace listings have this as their secondary category.\n* `slug` (String!): The short name of the category used in its URL.\n* `url` (URI!): The HTTP URL for this Marketplace category.\n\n## marketplaceCategory - query\n\nLook up a Marketplace category by its slug.\n\n**Type:** MarketplaceCategory\n\n### Arguments for `marketplaceCategory`\n\n* `slug` (String!): The URL slug of the category.\n* `useTopicAliases` (Boolean): Also check topic aliases for the category slug.\n\n## MarketplaceListing - object\n\nA listing in the GitHub integration marketplace.\n\n**Implements:** Node\n\n### Fields for `MarketplaceListing`\n\n* `app` (App): The GitHub App this listing represents.\n* `companyUrl` (URI): URL to the listing owner's company site.\n* `configurationResourcePath` (URI!): The HTTP path for configuring access to the listing's integration or OAuth app.\n* `configurationUrl` (URI!): The HTTP URL for configuring access to the listing's integration or OAuth app.\n* `documentationUrl` (URI): URL to the listing's documentation.\n* `extendedDescription` (String): The listing's detailed description.\n* `extendedDescriptionHTML` (HTML!): The listing's detailed description rendered to HTML.\n* `fullDescription` (String!): The listing's introductory description.\n* `fullDescriptionHTML` (HTML!): The listing's introductory description rendered to HTML.\n* `hasPublishedFreeTrialPlans` (Boolean!): Does this listing have any plans with a free trial?.\n* `hasTermsOfService` (Boolean!): Does this listing have a terms of service link?.\n* `hasVerifiedOwner` (Boolean!): Whether the creator of the app is a verified org.\n* `howItWorks` (String): A technical description of how this app works with GitHub.\n* `howItWorksHTML` (HTML!): The listing's technical description rendered to HTML.\n* `id` (ID!): The Node ID of the MarketplaceListing object.\n* `installationUrl` (URI): URL to install the product to the viewer's account or organization.\n* `installedForViewer` (Boolean!): Whether this listing's app has been installed for the current viewer.\n* `isArchived` (Boolean!): Whether this listing has been removed from the Marketplace.\n* `isDraft` (Boolean!): Whether this listing is still an editable draft that has not been submitted\nfor review and is not publicly visible in the Marketplace.\n* `isPaid` (Boolean!): Whether the product this listing represents is available as part of a paid plan.\n* `isPublic` (Boolean!): Whether this listing has been approved for display in the Marketplace.\n* `isRejected` (Boolean!): Whether this listing has been rejected by GitHub for display in the Marketplace.\n* `isUnverified` (Boolean!): Whether this listing has been approved for unverified display in the Marketplace.\n* `isUnverifiedPending` (Boolean!): Whether this draft listing has been submitted for review for approval to be unverified in the Marketplace.\n* `isVerificationPendingFromDraft` (Boolean!): Whether this draft listing has been submitted for review from GitHub for approval to be verified in the Marketplace.\n* `isVerificationPendingFromUnverified` (Boolean!): Whether this unverified listing has been submitted for review from GitHub for approval to be verified in the Marketplace.\n* `isVerified` (Boolean!): Whether this listing has been approved for verified display in the Marketplace.\n* `logoBackgroundColor` (String!): The hex color code, without the leading '#', for the logo background.\n* `logoUrl` (URI): URL for the listing's logo image.\n  * `size` (Int): The size in pixels of the resulting square image. Default: `400`.\n\n* `name` (String!): The listing's full name.\n* `normalizedShortDescription` (String!): The listing's very short description without a trailing period or ampersands.\n* `pricingUrl` (URI): URL to the listing's detailed pricing.\n* `primaryCategory` (MarketplaceCategory!): The category that best describes the listing.\n* `privacyPolicyUrl` (URI!): URL to the listing's privacy policy, may return an empty string for listings that do not require a privacy policy URL.\n* `resourcePath` (URI!): The HTTP path for the Marketplace listing.\n* `screenshotUrls` ([String]!): The URLs for the listing's screenshots.\n* `secondaryCategory` (MarketplaceCategory): An alternate category that describes the listing.\n* `shortDescription` (String!): The listing's very short description.\n* `slug` (String!): The short name of the listing used in its URL.\n* `statusUrl` (URI): URL to the listing's status page.\n* `supportEmail` (String): An email address for support for this listing's app.\n* `supportUrl` (URI!): Either a URL or an email address for support for this listing's app, may\nreturn an empty string for listings that do not require a support URL.\n* `termsOfServiceUrl` (URI): URL to the listing's terms of service.\n* `url` (URI!): The HTTP URL for the Marketplace listing.\n* `viewerCanAddPlans` (Boolean!): Can the current viewer add plans for this Marketplace listing.\n* `viewerCanApprove` (Boolean!): Can the current viewer approve this Marketplace listing.\n* `viewerCanDelist` (Boolean!): Can the current viewer delist this Marketplace listing.\n* `viewerCanEdit` (Boolean!): Can the current viewer edit this Marketplace listing.\n* `viewerCanEditCategories` (Boolean!): Can the current viewer edit the primary and secondary category of this\nMarketplace listing.\n* `viewerCanEditPlans` (Boolean!): Can the current viewer edit the plans for this Marketplace listing.\n* `viewerCanRedraft` (Boolean!): Can the current viewer return this Marketplace listing to draft state\nso it becomes editable again.\n* `viewerCanReject` (Boolean!): Can the current viewer reject this Marketplace listing by returning it to\nan editable draft state or rejecting it entirely.\n* `viewerCanRequestApproval` (Boolean!): Can the current viewer request this listing be reviewed for display in\nthe Marketplace as verified.\n* `viewerHasPurchased` (Boolean!): Indicates whether the current user has an active subscription to this Marketplace listing.\n* `viewerHasPurchasedForAllOrganizations` (Boolean!): Indicates if the current user has purchased a subscription to this Marketplace listing\nfor all of the organizations the user owns.\n* `viewerIsListingAdmin` (Boolean!): Does the current viewer role allow them to administer this Marketplace listing.\n\n## marketplaceListing - query\n\nLook up a single Marketplace listing.\n\n**Type:** MarketplaceListing\n\n### Arguments for `marketplaceListing`\n\n* `slug` (String!): Select the listing that matches this slug. It's the short name of the listing used in its URL.\n\n## MarketplaceListingConnection - object\n\nLook up Marketplace Listings.\n\n### Fields for `MarketplaceListingConnection`\n\n* `edges` ([MarketplaceListingEdge]): A list of edges.\n* `nodes` ([MarketplaceListing]): A list of nodes.\n* `pageInfo` (PageInfo!): Information to aid in pagination.\n* `totalCount` (Int!): Identifies the total count of items in the connection.\n\n## MarketplaceListingEdge - object\n\nAn edge in a connection.\n\n### Fields for `MarketplaceListingEdge`\n\n* `cursor` (String!): A cursor for use in pagination.\n* `node` (MarketplaceListing): The item at the end of the edge.\n\n## marketplaceListings - query\n\nLook up Marketplace listings.\n\n**Type:** MarketplaceListingConnection!\n\n### Arguments for `marketplaceListings`\n\n* `adminId` (ID): Select listings that can be administered by the specified user.\n* `after` (String): Returns the elements in the list that come after the specified cursor.\n* `allStates` (Boolean): Select listings visible to the viewer even if they are not approved. If omitted or\nfalse, only approved listings will be returned.\n* `before` (String): Returns the elements in the list that come before the specified cursor.\n* `categorySlug` (String): Select only listings with the given category.\n* `first` (Int): Returns the first n elements from the list.\n* `last` (Int): Returns the last n elements from the list.\n* `organizationId` (ID): Select listings for products owned by the specified organization.\n* `primaryCategoryOnly` (Boolean): Select only listings where the primary category matches the given category slug.\n* `slugs` ([String]): Select the listings with these slugs, if they are visible to the viewer.\n* `useTopicAliases` (Boolean): Also check topic aliases for the category slug.\n* `viewerCanAdmin` (Boolean): Select listings to which user has admin access. If omitted, listings visible to the\nviewer are returned.\n* `withFreeTrialsOnly` (Boolean): Select only listings that offer a free trial.\n\n## OauthApplicationAuditEntryData - interface\n\nMetadata for an audit entry with action oauth_application.*.\n\n### Fields for `OauthApplicationAuditEntryData`\n\n* `oauthApplicationName` (String): The name of the OAuth application.\n* `oauthApplicationResourcePath` (URI): The HTTP path for the OAuth application.\n* `oauthApplicationUrl` (URI): The HTTP URL for the OAuth application.\n\n### Implemented by\n\n* OauthApplicationCreateAuditEntry\n* OrgOauthAppAccessApprovedAuditEntry\n* OrgOauthAppAccessBlockedAuditEntry\n* OrgOauthAppAccessDeniedAuditEntry\n* OrgOauthAppAccessRequestedAuditEntry\n* OrgOauthAppAccessUnblockedAuditEntry\n\n## OauthApplicationCreateAuditEntryState - enum\n\nThe state of an OAuth application when it was created.\n\n### Values for `OauthApplicationCreateAuditEntryState`\n\n* `ACTIVE`: The OAuth application was active and allowed to have OAuth Accesses.\n* `PENDING_DELETION`: The OAuth application was in the process of being deleted.\n* `SUSPENDED`: The OAuth application was suspended from generating OAuth Accesses due to abuse or security concerns."}