# 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'