Appwrite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Appwrite Migrations API
17 actions
17 updates
phrasing
extends
openapi/appwrite-migrations-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Appwrite's API. It is a proposal applied on top of the contract, not a document Appwrite publishes.
What the actions change
x-apievangelist-phrasing
Targets 17 · first 16 shown; the file carries all of them
$.info
$.paths['/migrations'].get
$.paths['/migrations/appwrite'].post
$.paths['/migrations/appwrite/report'].get
$.paths['/migrations/csv/exports'].post
$.paths['/migrations/csv/imports'].post
$.paths['/migrations/firebase'].post
$.paths['/migrations/firebase/report'].get
$.paths['/migrations/json/exports'].post
$.paths['/migrations/json/imports'].post
$.paths['/migrations/nhost'].post
$.paths['/migrations/nhost/report'].get
$.paths['/migrations/supabase'].post
$.paths['/migrations/supabase/report'].get
$.paths['/migrations/{migrationId}'].get
$.paths['/migrations/{migrationId}'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Appwrite Migrations API
version: 1.0.0
extends: openapi/appwrite-migrations-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 16
- target: $.paths['/migrations'].get
update:
x-apievangelist-phrasing:
intent: List migrations in the project
effect: read
questions:
- What migrations have run in my project, and did any of them fail?
- Can I search my migration history and see each one's progress?
instructions:
- text: List all migrations in this project.
- text: Search my migrations for {search}.
slots:
search: query.search
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/appwrite'].post
update:
x-apievangelist-phrasing:
intent: Migrate data from another Appwrite project
effect: write
questions:
- How do I copy databases, users and files from one Appwrite project into another?
- What happens to duplicate records when moving data between two Appwrite projects?
instructions:
- text: Migrate {resources} from Appwrite project {projectId} at {endpoint} using key {apiKey}.
slots:
resources: requestBody.resources
projectId: requestBody.projectId
endpoint: requestBody.endpoint
apiKey: requestBody.apiKey
- text: Pull {resources} from project {projectId} on {endpoint} with API key {apiKey}, handling duplicates as {onDuplicate}.
slots:
resources: requestBody.resources
projectId: requestBody.projectId
endpoint: requestBody.endpoint
apiKey: requestBody.apiKey
onDuplicate: requestBody.onDuplicate
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/appwrite/report'].get
update:
x-apievangelist-phrasing:
intent: Preview an Appwrite-to-Appwrite migration
effect: read
questions:
- Before migrating from another Appwrite project, how can I see which resources it holds?
- Can I get a dry-run report of a source Appwrite project?
instructions:
- text: Report on {resources} in Appwrite project {projectID} at {endpoint} using key {key}.
slots:
resources: query.resources
projectID: query.projectID
endpoint: query.endpoint
key: query.key
- text: Analyze source Appwrite project {projectID} on {endpoint} with key {key} for {resources} before migrating.
slots:
projectID: query.projectID
endpoint: query.endpoint
key: query.key
resources: query.resources
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/csv/exports'].post
update:
x-apievangelist-phrasing:
intent: Export collection documents to a CSV file
effect: write
questions:
- How do I export a collection's documents to a CSV file?
- Can I choose the delimiter and which columns go into the CSV export?
- Will I get an email with a download link when a CSV export finishes?
instructions:
- text: Export collection {collectionId} in database {databaseId} to CSV file {filename}.
slots:
collectionId: requestBody.collectionId
databaseId: requestBody.databaseId
filename: requestBody.filename
- text: Export columns {columns} of {collectionId} in {databaseId} to {filename} using delimiter {delimiter}.
slots:
columns: requestBody.columns
collectionId: requestBody.collectionId
databaseId: requestBody.databaseId
filename: requestBody.filename
delimiter: requestBody.delimiter
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/csv/imports'].post
update:
x-apievangelist-phrasing:
intent: Import documents from a CSV file
effect: write
questions:
- How do I load rows from a CSV file in Storage into a database collection?
- What happens to CSV rows that duplicate existing documents on import?
instructions:
- text: Import CSV file {fileId} from bucket {bucketId} into collection {collectionId} of database {databaseId}.
slots:
fileId: requestBody.fileId
bucketId: requestBody.bucketId
collectionId: requestBody.collectionId
databaseId: requestBody.databaseId
- text: Load the CSV {fileId} in {bucketId} into {databaseId}/{collectionId}, treating duplicates as {onDuplicate}.
slots:
fileId: requestBody.fileId
bucketId: requestBody.bucketId
databaseId: requestBody.databaseId
collectionId: requestBody.collectionId
onDuplicate: requestBody.onDuplicate
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/firebase'].post
update:
x-apievangelist-phrasing:
intent: Migrate a Firebase project into Appwrite
effect: write
questions:
- How do I move my Firebase users and data into Appwrite?
- What credentials does a Firebase migration need?
instructions:
- text: Migrate {resources} from Firebase using service account {serviceAccount}.
slots:
resources: requestBody.resources
serviceAccount: requestBody.serviceAccount
- text: Start a Firebase import of {resources} with credentials {serviceAccount}.
slots:
resources: requestBody.resources
serviceAccount: requestBody.serviceAccount
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/firebase/report'].get
update:
x-apievangelist-phrasing:
intent: Preview a Firebase migration
effect: read
questions:
- Before migrating off Firebase, can I see which resources would be brought over?
- Is there a report of my Firebase project's contents ahead of a migration?
instructions:
- text: Report on {resources} in the Firebase project for service account {serviceAccount}.
slots:
resources: query.resources
serviceAccount: query.serviceAccount
- text: Analyze Firebase {resources} with {serviceAccount} before I migrate.
slots:
resources: query.resources
serviceAccount: query.serviceAccount
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/json/exports'].post
update:
x-apievangelist-phrasing:
intent: Export collection documents to a JSON file
effect: write
questions:
- How do I export a collection's documents as JSON?
- Can I limit a JSON export to certain columns or documents matching queries?
instructions:
- text: Export collection {collectionId} of database {databaseId} to JSON file {filename}.
slots:
collectionId: requestBody.collectionId
databaseId: requestBody.databaseId
filename: requestBody.filename
- text: Dump documents in {collectionId} matching {queries} from {databaseId} to JSON {filename}.
slots:
collectionId: requestBody.collectionId
queries: requestBody.queries
databaseId: requestBody.databaseId
filename: requestBody.filename
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/json/imports'].post
update:
x-apievangelist-phrasing:
intent: Import documents from a JSON file
effect: write
questions:
- How do I load documents from a JSON file in Storage into a collection?
- How are duplicate documents handled during a JSON import?
instructions:
- text: Import JSON file {fileId} from bucket {bucketId} into collection {collectionId} of database {databaseId}.
slots:
fileId: requestBody.fileId
bucketId: requestBody.bucketId
collectionId: requestBody.collectionId
databaseId: requestBody.databaseId
- text: Load JSON {fileId} in {bucketId} into {databaseId}/{collectionId} with duplicate handling {onDuplicate}.
slots:
fileId: requestBody.fileId
bucketId: requestBody.bucketId
databaseId: requestBody.databaseId
collectionId: requestBody.collectionId
onDuplicate: requestBody.onDuplicate
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/nhost'].post
update:
x-apievangelist-phrasing:
intent: Migrate an NHost project into Appwrite
effect: write
questions:
- How do I bring my NHost auth and database over to Appwrite?
- What connection details does an NHost migration require?
instructions:
- text: Migrate {resources} from NHost subdomain {subdomain} in {region} using admin secret {adminSecret}, database {database}, user {username} and password {password}.
slots:
resources: requestBody.resources
subdomain: requestBody.subdomain
region: requestBody.region
adminSecret: requestBody.adminSecret
database: requestBody.database
username: requestBody.username
password: requestBody.password
- text: Start an NHost import from {subdomain} ({region}), db {database} on port {port}, as {username}/{password} with secret {adminSecret}, for {resources}.
slots:
subdomain: requestBody.subdomain
region: requestBody.region
database: requestBody.database
port: requestBody.port
username: requestBody.username
password: requestBody.password
adminSecret: requestBody.adminSecret
resources: requestBody.resources
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/nhost/report'].get
update:
x-apievangelist-phrasing:
intent: Preview an NHost migration
effect: read
questions:
- Can I see what's in my NHost project before migrating it?
- Which NHost resources can be carried over, according to a pre-migration report?
instructions:
- text: Report on NHost {resources} at {subdomain} in {region} with secret {adminSecret}, db {database}, user {username}, password {password}.
slots:
resources: query.resources
subdomain: query.subdomain
region: query.region
adminSecret: query.adminSecret
database: query.database
username: query.username
password: query.password
- text: Analyze NHost project {subdomain} ({region}) db {database} as {username}/{password}, secret {adminSecret}, for {resources} before migrating.
slots:
subdomain: query.subdomain
region: query.region
database: query.database
username: query.username
password: query.password
adminSecret: query.adminSecret
resources: query.resources
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/supabase'].post
update:
x-apievangelist-phrasing:
intent: Migrate a Supabase project into Appwrite
effect: write
questions:
- How do I move auth users and tables from Supabase into Appwrite?
- What database connection details does a Supabase migration need?
instructions:
- text: Migrate {resources} from Supabase at {endpoint} using key {apiKey}, database host {databaseHost}, user {username}, password {password}.
slots:
resources: requestBody.resources
endpoint: requestBody.endpoint
apiKey: requestBody.apiKey
databaseHost: requestBody.databaseHost
username: requestBody.username
password: requestBody.password
- text: Start a Supabase import from {endpoint} with key {apiKey}, db {databaseHost}:{port} as {username}/{password}, for {resources}.
slots:
endpoint: requestBody.endpoint
apiKey: requestBody.apiKey
databaseHost: requestBody.databaseHost
port: requestBody.port
username: requestBody.username
password: requestBody.password
resources: requestBody.resources
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/supabase/report'].get
update:
x-apievangelist-phrasing:
intent: Preview a Supabase migration
effect: read
questions:
- Can I get a report of my Supabase project's resources before migrating?
- Which Supabase data would an import pick up?
instructions:
- text: Report on Supabase {resources} at {endpoint} with key {apiKey}, host {databaseHost}, user {username}, password {password}.
slots:
resources: query.resources
endpoint: query.endpoint
apiKey: query.apiKey
databaseHost: query.databaseHost
username: query.username
password: query.password
- text: Analyze Supabase project {endpoint} (key {apiKey}, db {databaseHost}, {username}/{password}) for {resources} before migrating.
slots:
endpoint: query.endpoint
apiKey: query.apiKey
databaseHost: query.databaseHost
username: query.username
password: query.password
resources: query.resources
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/{migrationId}'].get
update:
x-apievangelist-phrasing:
intent: Check a migration's status
effect: read
questions:
- How far along is my running migration?
- What errors did a specific migration hit?
instructions:
- text: Show the status of migration {migrationId}.
slots:
migrationId: path.migrationId
- text: Get the progress and errors for migration {migrationId}.
slots:
migrationId: path.migrationId
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/{migrationId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a migration from history
effect: destructive
questions:
- How do I clear an old migration out of my project's history?
- Can I remove a migration record I no longer need?
instructions:
- text: Delete migration {migrationId}.
slots:
migrationId: path.migrationId
- text: Remove migration {migrationId} from the history.
slots:
migrationId: path.migrationId
method: generated
generated: '2026-09-26'
- target: $.paths['/migrations/{migrationId}'].patch
update:
x-apievangelist-phrasing:
intent: Retry a failed migration
effect: write
questions:
- My migration failed; can I run it again?
- How do I re-attempt a migration without setting it up from scratch?
instructions:
- text: Retry failed migration {migrationId}.
slots:
migrationId: path.migrationId
- text: Re-run migration {migrationId}.
slots:
migrationId: path.migrationId
method: generated
generated: '2026-09-26'