Appwrite Console API
The Console service allows you to interact with console relevant information. 19 operations across 19 paths in the Appwrite 2.0.0 OpenAPI.
The Console service allows you to interact with console relevant information. 19 operations across 19 paths in the Appwrite 2.0.0 OpenAPI.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/appwrite-console-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.0.0
info:
title: Appwrite Console API
description: Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
version: 2.0.0
termsOfService: https://appwrite.io/policy/terms
contact:
name: Appwrite Team
url: https://appwrite.io/support
email: team@appwrite.io
license:
name: BSD-3-Clause
url: https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE
servers:
- url: https://cloud.appwrite.io/v1
description: Appwrite Cloud endpoint.
- url: https://{region}.cloud.appwrite.io/v1
description: Appwrite Cloud regional endpoint. Replace `{region}` with your project region.
variables:
region:
default: fra
description: Appwrite Cloud region.
tags:
- name: console
description: The Console service allows you to interact with console relevant information.
paths:
/console/campaigns/{campaignId}:
get:
summary: Get campaign details
operationId: consoleGetCampaign
tags:
- console
description: Receive the details of a campaign using its ID.
responses:
'201':
description: Campaign
content:
application/json:
schema:
$ref: '#/components/schemas/campaign'
deprecated: false
x-appwrite:
group: null
demo: console/get-campaign.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: campaignId
description: ID of the campaign
required: true
schema:
type: string
example: <CAMPAIGN_ID>
in: path
/console/coupons/{couponId}:
get:
summary: Get coupon details
operationId: consoleGetCoupon
tags:
- console
description: Get the details of a coupon using it's coupon ID.
responses:
'201':
description: Coupon
content:
application/json:
schema:
$ref: '#/components/schemas/coupon'
deprecated: false
x-appwrite:
group: null
demo: console/get-coupon.md
rate-limit: 50
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: couponId
description: ID of the coupon
required: true
schema:
type: string
example: <COUPON_ID>
in: path
/console/databases:
get:
summary: List databases
operationId: consoleListDatabases
tags:
- console
description: 'Get a list of all the project''s databases. You can use the query params to filter your results. This returns every database across all types and product APIs in a single call.
'
responses:
'200':
description: Databases List
content:
application/json:
schema:
$ref: '#/components/schemas/databaseList'
deprecated: false
x-appwrite:
group: null
demo: console/list-databases.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: databases.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: queries
description: 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name'
required: false
schema:
type: array
items:
type: string
default: []
in: query
- name: search
description: 'Search term to filter your list results. Max length: 256 chars.'
required: false
schema:
type: string
example: <SEARCH>
default: ''
in: query
- name: total
description: When set to false, the total count returned will be 0 and will not be calculated.
required: false
schema:
type: boolean
example: false
default: true
in: query
/console/oauth2-providers:
get:
summary: List OAuth2 providers
operationId: consoleListOAuth2Providers
tags:
- console
description: List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.
responses:
'200':
description: Console OAuth2 Providers List
content:
application/json:
schema:
$ref: '#/components/schemas/consoleOAuth2ProviderList'
deprecated: false
x-appwrite:
group: console
demo: console/list-o-auth-2-providers.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
/console/plans:
get:
summary: Get plans
operationId: consoleGetPlans
tags:
- console
description: Return a list of all available plans.
responses:
'200':
description: Billing plan list
content:
application/json:
schema:
$ref: '#/components/schemas/billingPlanList'
deprecated: false
x-appwrite:
group: null
demo: console/get-plans.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: projects.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: platform
description: Platform type
required: false
schema:
type: string
example: appwrite
title: Platform
oneOf:
- type: string
enum:
- appwrite
title: appwrite
- type: string
enum:
- imagine
title: imagine
default: appwrite
in: query
/console/plans/{planId}:
get:
summary: Get plan
operationId: consoleGetPlan
tags:
- console
description: Get the details of a plan using its plan ID.
responses:
'200':
description: billingPlan
content:
application/json:
schema:
$ref: '#/components/schemas/billingPlan'
deprecated: false
x-appwrite:
group: null
demo: console/get-plan.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: projects.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: planId
description: Plan id
required: true
schema:
type: string
example: <PLAN_ID>
in: path
/console/postgres-extensions:
get:
summary: List Postgres extensions
operationId: consoleListPostgresExtensions
tags:
- console
description: 'Get the catalog of Postgres extensions that can be installed on a dedicated Postgres database.
'
responses:
'200':
description: Postgres extensions list
content:
application/json:
schema:
$ref: '#/components/schemas/postgresExtensionList'
deprecated: false
x-appwrite:
group: null
demo: console/list-postgres-extensions.md
rate-limit: 100
rate-time: 3600
rate-key: ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
/console/programs/{programId}:
get:
summary: Get program details
operationId: consoleGetProgram
tags:
- console
description: Receive the details of a program using its ID.
responses:
'201':
description: Program
content:
application/json:
schema:
$ref: '#/components/schemas/program'
deprecated: false
x-appwrite:
group: null
demo: console/get-program.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: teams.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: programId
description: ID of the program
required: true
schema:
type: string
example: <PROGRAM_ID>
in: path
/console/programs/{programId}/memberships:
post:
summary: Create program membership
operationId: consoleCreateProgramMembership
tags:
- console
description: Create a new membership for an account to a program.
responses:
'200':
description: Organization
content:
application/json:
schema:
$ref: '#/components/schemas/organization'
deprecated: false
x-appwrite:
group: null
demo: console/create-program-membership.md
rate-limit: 10
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: teams.write
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: programId
description: ID of the program
required: true
schema:
type: string
example: <PROGRAM_ID>
in: path
/console/regions:
get:
summary: List Regions
operationId: consoleListRegions
tags:
- console
description: Get all available regions for the console.
responses:
'200':
description: Regions list
content:
application/json:
schema:
$ref: '#/components/schemas/consoleRegionList'
deprecated: false
x-appwrite:
group: null
demo: console/list-regions.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: projects.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
/console/resources:
get:
summary: Check resource ID availability
operationId: consoleGetResource
tags:
- console
description: Check if a resource ID is available.
responses:
'204':
description: No content
deprecated: false
x-appwrite:
group: null
demo: console/get-resource.md
rate-limit: 120
rate-time: 60
rate-key: userId:{userId}, url:{url}
scope: rules.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: value
description: Resource value.
required: true
schema:
type: string
example: <VALUE>
in: query
- name: type
description: Resource type.
required: true
schema:
type: string
example: rules
title: ConsoleResourceType
oneOf:
- type: string
enum:
- rules
title: rules
in: query
/console/scopes/organization:
get:
summary: List organization scopes
operationId: consoleListOrganizationScopes
tags:
- console
description: List all scopes available for organization API keys, along with a description for each scope.
responses:
'200':
description: Console Key Scopes List
content:
application/json:
schema:
$ref: '#/components/schemas/consoleKeyScopeList'
deprecated: false
x-appwrite:
group: console
demo: console/list-organization-scopes.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
/console/scopes/project:
get:
summary: List project scopes
operationId: consoleListProjectScopes
tags:
- console
description: List all scopes available for project API keys, along with a description for each scope.
responses:
'200':
description: Console Key Scopes List
content:
application/json:
schema:
$ref: '#/components/schemas/consoleKeyScopeList'
deprecated: false
x-appwrite:
group: console
demo: console/list-project-scopes.md
rate-limit: 0
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
/console/sources:
post:
summary: Create source
operationId: consoleCreateSource
tags:
- console
description: Create a new source.
responses:
'201':
description: Any
content:
application/json:
schema:
$ref: '#/components/schemas/any'
deprecated: false
x-appwrite:
group: null
demo: console/create-source.md
rate-limit: 50
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: public
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
requestBody:
content:
application/json:
schema:
type: object
properties:
ref:
description: Ref param
type: string
example: <REF>
nullable: true
referrer:
description: Referrer
type: string
example: https://example.com
format: url
nullable: true
utmSource:
description: Utm source
type: string
example: <UTM_SOURCE>
nullable: true
utmCampaign:
description: Utm campaign
type: string
example: <UTM_CAMPAIGN>
nullable: true
utmMedium:
description: Utm medium
type: string
example: <UTM_MEDIUM>
nullable: true
/console/suggestions/columns:
get:
summary: Get column suggestions with size limits for a table, using database context and an optional user provided context
operationId: consoleSuggestColumns
tags:
- console
description: Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.
responses:
'200':
description: Columns List
content:
application/json:
schema:
$ref: '#/components/schemas/columnList'
deprecated: false
x-appwrite:
group: null
demo: console/suggest-columns.md
rate-limit: 10
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: databases.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: databaseId
description: Database ID.
required: true
schema:
type: string
example: <DATABASE_ID>
in: query
- name: tableId
description: Table ID.
required: true
schema:
type: string
example: <TABLE_ID>
in: query
- name: context
description: Optional user provided context to refine suggestions.
required: false
schema:
type: string
example: <CONTEXT>
in: query
- name: min
description: Minimum number of suggestions to generate.
required: false
schema:
type: integer
format: int32
example: 1
default: 3
in: query
- name: max
description: Maximum number of suggestions to generate.
required: false
schema:
type: integer
format: int32
example: 1
default: 7
in: query
/console/suggestions/indexes:
get:
summary: Get index suggestions for table columns, using database context
operationId: consoleSuggestIndexes
tags:
- console
description: Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.
responses:
'200':
description: Column Indexes List
content:
application/json:
schema:
$ref: '#/components/schemas/columnIndexList'
deprecated: false
x-appwrite:
group: null
demo: console/suggest-indexes.md
rate-limit: 10
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: databases.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: databaseId
description: Database ID.
required: true
schema:
type: string
example: <DATABASE_ID>
in: query
- name: tableId
description: Table ID.
required: true
schema:
type: string
example: <TABLE_ID>
in: query
- name: min
description: Minimum number of suggestions to generate.
required: false
schema:
type: integer
format: int32
example: 1
default: 1
in: query
- name: max
description: Maximum number of suggestions to generate.
required: false
schema:
type: integer
format: int32
example: 1
default: 4
in: query
/console/suggestions/queries:
get:
summary: Get query suggestions for a list resource from free-text intent
operationId: consoleSuggestQueries
tags:
- console
description: 'Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` — for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.
'
responses:
'200':
description: Any
content:
application/json:
schema:
$ref: '#/components/schemas/any'
deprecated: false
x-appwrite:
group: null
demo: console/suggest-queries.md
rate-limit: 10
rate-time: 3600
rate-key: url:{url},ip:{ip}
scope: databases.read
platforms:
- console
packaging: false
public: true
auth:
console:
Project: []
security:
- Project: []
parameters:
- name: resource
description: Resource to generate queries for.
required: true
schema:
type: string
example: activities
title: QuerySuggestionResource
oneOf:
- type: string
enum:
- activities
title: activities
- type: string
enum:
- activityevents
title: activity_events
- type: string
enum:
- archives
title: archives
- type: string
enum:
- credits
title: credits
- type: string
enum:
- dnsrecords
title: dns_records
- type: string
enum:
- domains
title: domains
- type: string
enum:
- invoices
title: invoices
- type: string
enum:
- paymentmethods
title: payment_methods
- type: string
enum:
- policies
title: policies
- type: string
enum:
- projects
title: projects
- type: string
enum:
- restorations
title: restorations
- type: string
enum:
- teamaggregations
title: team_aggregations
- type: string
enum:
- teams
title: teams
- type: string
enum:
- databases
title: databases
- type: string
enum:
- tables
title: tables
- type: string
enum:
- rows
title: rows
- type: string
enum:
- schedules
title: schedules
- type: string
enum:
- platforms
title: platforms
- type: string
enum:
- keys
title: keys
- type: string
enum:
- devkeys
title: dev_keys
- type: string
enum:
- webhooks
title: webhooks
- type: string
enum:
- notifications
title: notifications
- type: string
enum:
- certificates
title: certificates
- type: string
enum:
- realtime
title: realtime
- type: string
enum:
- rules
title: rules
- type: string
enum:
- installations
title: installations
- type: string
enum:
- repositories
title: repositories
- type: string
enum:
- vcscomments
title: vcs_comments
- type: string
enum:
- vcscommentlocks
title: vcs_comment_locks
- type: string
enum:
- reports
title: reports
- type: string
enum:
- insights
title: insights
- type: string
enum:
- users
title: users
- type: string
enum:
- cache
title: cache
- type: string
enum:
- tokens
title: tokens
- type: string
enum:
- authenticators
title: authenticators
- type: string
enum:
- challenges
title: challenges
- type: string
enum:
- sessions
title: sessions
- type: string
enum:
- identities
title: identities
- type: string
enum:
- memberships
title: memberships
- type: string
enum:
- buckets
title: buckets
- type: string
enum:
- providers
title: providers
- type: string
enum:
- messages
title: messages
- type: string
enum:
- topics
title: topics
- type: string
enum:
- subscribers
title: subscribers
- type: string
enum:
- targets
title: targets
- type: string
enum:
- presencelogs
title: presence_logs
- type: string
enum:
- companies
title: companies
- type: string
enum:
- billingaddresses
title: billing_addresses
- type: string
enum:
- billingaggregations
title: billing_aggregations
- type: string
enum:
- billingaggregationresources
title: billing_aggregation_resources
- type: string
enum:
- billingteamprojectaggregations
title: billing_team_project_aggregations
- type: string
enum:
- billingteamaggregations_v2
title: billing_team_aggregations_v2
- type: string
enum:
- billingteamaggregationresources
title: billing_team_aggregation_resources
- type: string
enum:
- billinginvoices_v2
title: billing_invoices_v2
- type: string
enum:
- billingaddons
title: billing_addons
- type: string
enum:
- alerts
title: alerts
- type: string
enum:
- payments
title: payments
- type: string
enum:
- billingdiscounts
title: billing_discounts
- type: string
enum:
- resourcesdeleted
title: resources_deleted
- type: string
enum:
- sources
title: sources
- type: string
enum:
- deals
title: deals
- type: string
enum:
- blocks
title: blocks
- type: string
enum:
- threats
title: threats
- type: string
enum:
- feedbacks
title: feedbacks
- type: string
enum:
- disputes
title: disputes
- type: string
enum:
- wafrules
title: waf_rules
- type: string
enum:
- sh_installations
title: sh_installations
- type: string
enum:
- migrationdatabases
title: migration_databases
- type: string
enum:
- migrationprojects
title: migration_projects
- type: string
enum:
- affiliatelinks
title: affiliate_links
- type: string
enum:
- affiliatereferrals
title: affiliate_referrals
- type: string
enum:
- affiliaterewards
title: affiliate_rewards
- type: string
enum:
- apps
title: apps
- type: string
enum:
- appsecrets
title: app_secrets
- type: string
enum:
- appinstallations
title: app_installations
- type: string
enum:
- appkeys
title: app_keys
- type: string
enum:
- oauth2grants
title: oauth2_grants
- type: string
enum:
- oauth2consents
title: oauth2_consents
- type: string
enum:
- oauth2tokens
title: oauth2_tokens
- type: string
enum:
- attributes
title: attributes
- type: string
enum:
- indexes
title: indexes
- type: string
enum:
- functions
title: functions
- type: string
enum:
- sites
title: sites
- type: string
enum:
- deployments
title: deployments
- type: string
enum:
- executions
title: executions
- type: string
enum:
- variables
title: variables
- type: string
enum:
- migrations
title: migrations
- type: string
enum:
- resourcetokens
title: resource_tokens
- type: string
enum:
- transactions
title: transactions
- type: string
enum:
- transactionlogs
title: transaction_logs
- type: string
enum:
- stats
title: stats
- type: string
enum:
- dedicateddatabases
title: dedicated_databases
- type: string
enum:
- dedicateddatabaseconfigs
title: dedicated_database_configs
- type: string
enum:
- dedicateddatabaseruntimes
title: dedicated_database_runtimes
- type: string
enum:
- dedicateddatabaseoperations
title: dedicated_database_operations
- type: string
enum:
- dedicateddatabasebackups
title: dedicated_database_backups
- type: string
enum:
- dedicateddatabaserestorations
title: dedicated_database_restorations
- type: string
enum:
- dedicateddatabasebranches
title: dedicated_database_branches
in: query
- name: input
description: Natural language query intent used to generate filters/sorting/pagination.
required: true
schema:
type: string
example: <INPUT>
in: query
- name: databaseId
description: Database ID. Required when resource is `tables` or `rows`.
required: false
schema:
type: string
example: <DATABASE_ID>
in: query
- name: tableId
description: Table ID. Required when resource is `rows`.
required: false
schema:
type: string
example: <TABLE_ID>
in: query
/console/templates/email/{templateId}:
get:
summary: Get email template
operationId: consoleGetEmailTemplate
tags:
- console
description: Get the
# --- truncated at 32 KB (166 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-console-api-openapi.yml