nylasSpec top-level property
Completion spec for nylas CLI
Implementation
final FigSpec nylasSpec = FigSpec(
name: 'nylas',
description: 'A command line interface for Nylas\'s API',
subcommands: [
Subcommand(
name: 'api',
description: 'Access the Nylas API endpoints',
subcommands: [
Subcommand(
name: 'a',
description: 'A API commands',
subcommands: [
Subcommand(
name: 'accounts',
description: 'Accounts commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete an Account',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Accounts',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--metadata_key',
description: 'Pass in your keys to search for metadata. `?metadata_key=goodmorning`. You can also combine this with `metadata_value`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_key'
)
]
),
Option(
name: '--metadata_pair',
description: 'Pass in your metadata key and value pair to search for metadata. `?metadata_pair=goodmorning:goodnight`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_pair'
)
]
),
Option(
name: '--metadata_value',
description: 'Pass in your value to search for metadata. `?metadata_value=goodnight`. You can also combine this with `metadata_key`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_value'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
)
]
)
]
),
Subcommand(
name: 'accounts:downgrade',
description: 'Accounts:downgrade commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Cancel an Account',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'accounts:revoke-all',
description: 'Accounts:revoke-all commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Revoke All Tokens',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'accounts:token-info',
description: 'Accounts:token-info commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Return Token Information',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'accounts:upgrade',
description: 'Accounts:upgrade commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Reactivate an Account',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'accounts',
description: 'Gets a list of authed accounts',
options: [
Option(
name: ['--limit', '-l'],
description: 'This is usage',
args: [
Arg(
name: 'limit',
defaultValue: '10'
)
]
)
]
),
Subcommand(
name: 'applications',
description: 'Gets your application info'
),
Subcommand(
name: 'calendars',
description: 'Calendars API commands',
subcommands: [
Subcommand(
name: 'availability',
description: 'Availability commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Availability for a Single Meeting',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'availability:consecutive',
description: 'Availability:consecutive commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Availability for Multiple Meetings',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'delete',
description: 'Delete a Calendar',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'free-busy',
description: 'Free-busy commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Calendar Free or Busy',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Calendars',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--metadata_key',
description: 'Pass in your keys to search for metadata. `?metadata_key=goodmorning`. You can also combine this with `metadata_value`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_key'
)
]
),
Option(
name: '--metadata_pair',
description: 'Pass in your metadata key and value pair to search for metadata. `?metadata_pair=goodmorning:goodnight`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_pair'
)
]
),
Option(
name: '--metadata_value',
description: 'Pass in your value to search for metadata. `?metadata_value=goodnight`. You can also combine this with `metadata_key`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_value'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
),
Option(
name: '--view',
description: 'If using Search, only `view=expanded` is supported. See [Views](/docs/api/#overview--views) for more information',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create a Calendar',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update A Calendar',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'connect',
description: 'Connect API commands',
subcommands: [
Subcommand(
name: 'detect-provider',
description: 'Detect-provider commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Detect Provider',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'contacts',
description: 'Contacts API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Contact',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Contacts',
options: [
Option(
name: '--country',
description: 'Returns the contacts matching the contact\'s exact physical addresses',
args: [
Arg(
name: 'country'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--email',
description: 'Returns the contacts matching the exact contact\'s email',
args: [
Arg(
name: 'email'
)
]
),
Option(
name: '--group',
description: 'Returns the contacts belonging to the Contact Group matching this ID',
args: [
Arg(
name: 'group'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
),
Option(
name: '--phone_number',
description: 'Returns the contacts matching the contact\'s exact phone number',
args: [
Arg(
name: 'phone_number'
)
]
),
Option(
name: '--postal_code',
description: 'Returns the contacts matching the contact\'s exact postal code of one of the contact\'s addresses',
args: [
Arg(
name: 'postal_code'
)
]
),
Option(
name: '--source',
description: 'Returns the contacts matching from the address book or auto-generated contacts from emails. For example of contacts only from the address book: `/`contacts?source=address_book` or for only autogenerated contacts: `/contacts?source=inbox`',
args: [
Arg(
name: 'source'
)
]
),
Option(
name: '--state',
description: 'Returns the contacts matching the contact\'s exact state for one of the contact\'s physical addresses',
args: [
Arg(
name: 'state'
)
]
),
Option(
name: '--street_address',
description: 'Returns the contacts matching the one of the contact\'s exact street address',
args: [
Arg(
name: 'street_address'
)
]
)
]
),
Subcommand(
name: 'groups',
description: 'Groups commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Contact Groups',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'picture',
description: 'Picture commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Returns a Contacts Picture',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create a Contact',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Contact',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'delta',
description: 'Delta API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Request Delta Cursors',
options: [
Option(
name: '--cursor',
description: 'The data cursor from `/delta/latest_cursor`',
args: [
Arg(
name: 'cursor'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--excluded_types',
description: 'A comma-separated list of object types to exclude from the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'excluded_types'
)
]
),
Option(
name: '--include_types',
description: 'A comma-separated list of the object types that will only be included in the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'include_types'
)
]
),
Option(
name: '--view',
description: 'This value indicates if the data expands thread and message objects in the response to include additional information, when the value is set to expanded',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'latest:cursor',
description: 'Latest:cursor commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Get a Delta Cursor',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'longpoll',
description: 'Longpoll commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Long-Polling Deltas',
options: [
Option(
name: '--cursor',
description: 'The data cursor from `/delta/latest_cursor`',
args: [
Arg(
name: 'cursor'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--excluded_types',
description: 'A comma-separated list of object types to exclude from the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'excluded_types'
)
]
),
Option(
name: '--include_types',
description: 'A comma-separated list of the object types that will only be included in the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'include_types'
)
]
),
Option(
name: '--timeout',
description: 'The time difference between the deltas retrieved',
args: [
Arg(
name: 'timeout',
defaultValue: '0'
)
]
),
Option(
name: '--view',
description: 'This value indicates if the data expands thread and message objects in the response to include additional information, when the value is set to expanded',
args: [
Arg(
name: 'view'
)
]
)
]
)
]
),
Subcommand(
name: 'streaming',
description: 'Streaming commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Streaming Deltas',
options: [
Option(
name: '--cursor',
description: 'The data cursor from `/delta/latest_cursor`',
args: [
Arg(
name: 'cursor'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--excluded_types',
description: 'A comma-separated list of object types to exclude from the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'excluded_types'
)
]
),
Option(
name: '--include_types',
description: 'A comma-separated list of the object types that will only be included in the returned deltas. You can not use `included_types` and `excluded_types` together',
args: [
Arg(
name: 'include_types'
)
]
),
Option(
name: '--view',
description: 'This value indicates if the data expands thread and message objects in the response to include additional information, when the value is set to expanded',
args: [
Arg(
name: 'view'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'drafts',
description: 'Drafts API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Draft',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Drafts',
options: [
Option(
name: '--any_email',
description: 'Return emails that have been sent or received from this comma-separated list of email addresses. For example: mail1@mail.com,mail2@mail.com. A maximum of 25 emails may be specified',
args: [
Arg(
name: 'any_email'
)
]
),
Option(
name: '--bcc',
description: 'Return threads containing messages that were BCC\'d to this email address, likely sent from the parent account. (Most SMTP gateways remove BCC information.)',
args: [
Arg(
name: 'bcc'
)
]
),
Option(
name: '--cc',
description: 'Return threads containing messages that were CC\'d to this email address',
args: [
Arg(
name: 'cc'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--filename',
description: 'Return object with the filename',
args: [
Arg(
name: 'filename'
)
]
),
Option(
name: '--in',
description: 'This parameter supports the name, display_name, or id of a folder or label. To return drafts, pass in `drafts`',
args: [
Arg(
name: 'in'
)
]
),
Option(
name: '--last_message_after',
description: 'Return threads whose most recent message was received after this Unix-based timestamp',
args: [
Arg(
name: 'last_message_after'
)
]
),
Option(
name: '--last_message_before',
description: 'Return threads whose most recent message was received before this Unix-based timestamp',
args: [
Arg(
name: 'last_message_before'
)
]
),
Option(
name: '--not_in',
description: 'Filter messages not in a given folder or label. The filter supports the name, display, or ID of a folder or label',
args: [
Arg(
name: 'not_in'
)
]
),
Option(
name: '--started_after',
description: 'Return threads whose first message was received after this Unix-based timestamp',
args: [
Arg(
name: 'started_after'
)
]
),
Option(
name: '--started_before',
description: 'Return threads whose first message was received before this Unix-based timestamp',
args: [
Arg(
name: 'started_before'
)
]
),
Option(
name: '--subject',
description: 'Return threads with a matching literal subject',
args: [
Arg(
name: 'subject'
)
]
),
Option(
name: '--thread_id',
description: 'Return messages belonging to a specific thread',
args: [
Arg(
name: 'thread_id'
)
]
),
Option(
name: '--to',
description: 'Return threads containing messages sent to this email address',
args: [
Arg(
name: 'to'
)
]
),
Option(
name: '--view',
description: 'If using Search, only `view=expanded` is supported. See [Views](/docs/api/#overview--views) for more information',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create a New Draft',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Draft',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'events',
description: 'Events API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete An Event',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Events',
options: [
Option(
name: '--calendar_id',
description: 'Return events belonging to the specified calendar ID',
args: [
Arg(
name: 'calendar_id'
)
]
),
Option(
name: '--count',
description: 'See [Count](/docs/api/#overview--count-view) for more information',
args: [
Arg(
name: 'count'
)
]
),
Option(
name: '--description',
description: 'Return events matching the specified description',
args: [
Arg(
name: 'description'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--ends_after',
description: 'Return events ending after the specified unix timestamp',
args: [
Arg(
name: 'ends_after'
)
]
),
Option(
name: '--ends_before',
description: 'Return events ending before the specified unix timestamp',
args: [
Arg(
name: 'ends_before'
)
]
),
Option(
name: '--event_id',
description: 'Return the event matching the specified event ID',
args: [
Arg(
name: 'event_id'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--location',
description: 'Return events matching the specified location',
args: [
Arg(
name: 'location'
)
]
),
Option(
name: '--metadata_key',
description: 'Pass in your keys to search for metadata. `?metadata_key=goodmorning`. You can also combine this with `metadata_value`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_key'
)
]
),
Option(
name: '--metadata_pair',
description: 'Pass in your metadata key and value pair to search for metadata. `?metadata_pair=goodmorning:goodnight`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_pair'
)
]
),
Option(
name: '--metadata_value',
description: 'Pass in your value to search for metadata. `?metadata_value=goodnight`. You can also combine this with `metadata_key`, `?metadata_key=goodmorning&metadata_value=goodbye`. See [Metadata](/docs/developer-tools/api/metadata/)',
args: [
Arg(
name: 'metadata_value'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
),
Option(
name: '--show_cancelled',
description: 'Return events that have a status of `cancelled`. If an event is recurring, then it returns no matter the value of show_cancelled. Default false',
args: [
Arg(
name: 'show_cancelled'
)
]
),
Option(
name: '--starts_after',
description: 'Return events starting after the specified unix timestamp',
args: [
Arg(
name: 'starts_after'
)
]
),
Option(
name: '--starts_before',
description: 'Return events starting before the specified unix timestamp',
args: [
Arg(
name: 'starts_before'
)
]
),
Option(
name: '--title',
description: 'Return events matching the specified title',
args: [
Arg(
name: 'title'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create an Event',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update An Event',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'to-ics',
description: 'To-ics commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Generate ICS File',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'files',
description: 'Files API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a File',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'download',
description: 'Download commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Download a File',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Files',
options: [
Option(
name: '--content_type',
description: 'Return objects matching the specified content type',
args: [
Arg(
name: 'content_type'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--filename',
description: 'Return object with the filename',
args: [
Arg(
name: 'filename'
)
]
),
Option(
name: '--message_id',
description: 'Return objects matching the specified message ID',
args: [
Arg(
name: 'message_id'
)
]
),
Option(
name: '--view',
description: 'If using Search, only `view=expanded` is supported. See [Views](/docs/api/#overview--views) for more information',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Upload a New File',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'folders',
description: 'Folders API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Folder',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Folders',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create a Folder',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Folder',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'ip-addresses',
description: 'Gets a list of Nylas IP addresses (paid customers only)'
),
Subcommand(
name: 'job-statuses',
description: 'Job-Statuses API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return All Job Statuses',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'labels',
description: 'Labels API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Label',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Labels',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Create a Label',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Label',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'messages',
description: 'Messages API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return All Messages',
options: [
Option(
name: '--any_email',
description: 'Return emails that have been sent or received from this comma-separated list of email addresses. For example: mail1@mail.com,mail2@mail.com. A maximum of 25 emails may be specified',
args: [
Arg(
name: 'any_email'
)
]
),
Option(
name: '--bcc',
description: 'Return threads containing messages that were BCC\'d to this email address, likely sent from the parent account. (Most SMTP gateways remove BCC information.)',
args: [
Arg(
name: 'bcc'
)
]
),
Option(
name: '--cc',
description: 'Return threads containing messages that were CC\'d to this email address',
args: [
Arg(
name: 'cc'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--filename',
description: 'Return object with the filename',
args: [
Arg(
name: 'filename'
)
]
),
Option(
name: '--from',
description: 'Return threads containing messages sent from this email address',
args: [
Arg(
name: 'from'
)
]
),
Option(
name: '--in',
description: 'This parameter supports the name, display_name, or id of a folder or label. To return drafts, pass in `drafts`',
args: [
Arg(
name: 'in'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--not_in',
description: 'Filter messages not in a given folder or label. The filter supports the name, display, or ID of a folder or label',
args: [
Arg(
name: 'not_in'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
),
Option(
name: '--received_after',
description: 'Return messages received after this unix timestamp',
args: [
Arg(
name: 'received_after',
defaultValue: '0'
)
]
),
Option(
name: '--received_before',
description: 'Return messages received before this unix timestamp',
args: [
Arg(
name: 'received_before',
defaultValue: '0'
)
]
),
Option(
name: '--subject',
description: 'Return threads with a matching literal subject',
args: [
Arg(
name: 'subject'
)
]
),
Option(
name: '--thread_id',
description: 'Return messages belonging to a specific thread',
args: [
Arg(
name: 'thread_id'
)
]
),
Option(
name: '--to',
description: 'Return threads containing messages sent to this email address',
args: [
Arg(
name: 'to'
)
]
),
Option(
name: '--view',
description: 'If using Search, only `view=expanded` is supported. See [Views](/docs/api/#overview--views) for more information',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Message',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'neural',
description: 'Neural API commands',
subcommands: [
Subcommand(
name: 'categorize',
description: 'Categorize commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Categorize a Message',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'categorize:feedback',
description: 'Categorize:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Categorize Message Feedback',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'conversation',
description: 'Conversation commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Clean Conversation',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'conversation:feedback',
description: 'Conversation:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Clean Conversations Feedback',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'ocr',
description: 'Ocr commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Optical Character Recognition',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'ocr:feedback',
description: 'Ocr:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Optical Character Recognition Feedback',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'sentiment',
description: 'Sentiment commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Sentiment Analysis',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'sentiment:feedback',
description: 'Sentiment:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Sentiment Analysis Feedback',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'signature',
description: 'Signature commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Signature Extraction',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'signature:feedback',
description: 'Signature:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Signature Extraction Feedback',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'resources',
description: 'Resources API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Room Resource Information',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
)
]
)
]
),
Subcommand(
name: 'send',
description: 'Send API commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Send a Message',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'send-rsvp',
description: 'Send-Rsvp API commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Send RSVP',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'threads',
description: 'Threads API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Returns All Threads',
options: [
Option(
name: '--any_email',
description: 'Return emails that have been sent or received from this comma-separated list of email addresses. For example: mail1@mail.com,mail2@mail.com. A maximum of 25 emails may be specified',
args: [
Arg(
name: 'any_email'
)
]
),
Option(
name: '--bcc',
description: 'Return threads containing messages that were BCC\'d to this email address, likely sent from the parent account. (Most SMTP gateways remove BCC information.)',
args: [
Arg(
name: 'bcc'
)
]
),
Option(
name: '--cc',
description: 'Return threads containing messages that were CC\'d to this email address',
args: [
Arg(
name: 'cc'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
),
Option(
name: '--filename',
description: 'Return object with the filename',
args: [
Arg(
name: 'filename'
)
]
),
Option(
name: '--from',
description: 'Return threads containing messages sent from this email address',
args: [
Arg(
name: 'from'
)
]
),
Option(
name: '--in',
description: 'This parameter supports the name, display_name, or id of a folder or label. To return drafts, pass in `drafts`',
args: [
Arg(
name: 'in'
)
]
),
Option(
name: '--last_message_after',
description: 'Return threads whose most recent message was received after this Unix-based timestamp',
args: [
Arg(
name: 'last_message_after'
)
]
),
Option(
name: '--last_message_before',
description: 'Return threads whose most recent message was received before this Unix-based timestamp',
args: [
Arg(
name: 'last_message_before'
)
]
),
Option(
name: '--last_updated_after',
description: 'Return threads whose most recent last updated date is after this Unix-based timestamp',
args: [
Arg(
name: 'last_updated_after'
)
]
),
Option(
name: '--last_updated_before',
description: 'Return threads whose most recent last updated date is before this Unix-based timestamp',
args: [
Arg(
name: 'last_updated_before'
)
]
),
Option(
name: '--last_updated_timestamp',
description: 'Return threads that been updated or changed recently. UNIX timestamp',
args: [
Arg(
name: 'last_updated_timestamp'
)
]
),
Option(
name: '--limit',
description: 'The number of objects to return. Defaults to 100. If set too high, requests may fail to prevent excessively large response bodies',
args: [
Arg(
name: 'limit',
defaultValue: '0'
)
]
),
Option(
name: '--not_in',
description: 'Filter messages not in a given folder or label. The filter supports the name, display, or ID of a folder or label',
args: [
Arg(
name: 'not_in'
)
]
),
Option(
name: '--offset',
description: 'Zero-based offset from default object sorting. See [pagination](/docs/api/#overview--pagintaion) for more information',
args: [
Arg(
name: 'offset',
defaultValue: '0'
)
]
),
Option(
name: '--started_after',
description: 'Return threads whose first message was received after this Unix-based timestamp',
args: [
Arg(
name: 'started_after'
)
]
),
Option(
name: '--started_before',
description: 'Return threads whose first message was received before this Unix-based timestamp',
args: [
Arg(
name: 'started_before'
)
]
),
Option(
name: '--subject',
description: 'Return threads with a matching literal subject',
args: [
Arg(
name: 'subject'
)
]
),
Option(
name: '--to',
description: 'Return threads containing messages sent to this email address',
args: [
Arg(
name: 'to'
)
]
),
Option(
name: '--view',
description: 'If using Search, only `view=expanded` is supported. See [Views](/docs/api/#overview--views) for more information',
args: [
Arg(
name: 'view'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update a Thread',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
),
Subcommand(
name: 'v2',
description: 'V2 API commands',
subcommands: [
Subcommand(
name: 'outbox',
description: 'Outbox commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete Scheduled Message',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'get',
description: 'Return All Messages to Be Sent',
options: [
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'post',
description: 'Send a Message',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
),
Subcommand(
name: 'put',
description: 'Update Send Time',
options: [
Option(
name: '--body',
description: 'Request body (or use < to redirect a JSON file)',
args: [
Arg(
name: 'body'
)
]
),
Option(
name: '--display_columns',
description: '(optional) A comma separated list of column headers to display for the table output',
args: [
Arg(
name: 'headers'
)
]
)
]
)
]
)
]
),
Subcommand(
name: 'webhooks',
description: 'Gets a list of webhooks',
options: [
Option(
name: ['--limit', '-l'],
description: 'This is usage',
args: [
Arg(
name: 'limit',
defaultValue: '10'
)
]
)
]
)
]
),
Subcommand(
name: 'auth',
description: 'Auth your email account'
),
Subcommand(
name: 'docs',
description: 'Documentation lookup (preview)'
),
Subcommand(
name: 'init',
description: 'Setup your dashboard application credentials'
),
Subcommand(
name: 'version',
description: 'Gets the current CLI version'
),
Subcommand(
name: 'webhook',
description: 'Create and test Nylas\' Webhooks',
subcommands: [
Subcommand(
name: 'tunnel',
description: 'Starts listening for incoming Nylas webhook events',
options: [
Option(
name: '--callback_domain',
description: 'The domain for the callback URL',
args: [
Arg(
name: 'callback_domain',
defaultValue: 'cb.nylas.com'
)
]
),
Option(
name: ['--forward', '-f'],
description: 'Address to forward requests to (e.g. http://localhost:3000)',
args: [
Arg(
name: 'forward'
)
]
),
Option(
name: ['--print', '-p'],
description: 'Prints the (json) payload to the console'
),
Option(
name: ['--triggers', '-t'],
description: 'The triggers to register for your webhooks',
args: [
Arg(
name: 'triggers',
defaultValue: 'account.connected,account.running,account.stopped,account.invalid,account.sync_error,message.created,message.opened,message.updated,message.link_clicked,message.bounced,thread.replied,calendar.created,calendar.updated,calendar.deleted,event.created,event.updated,event.deleted,contact.created,contact.updated,contact.deleted,job.successful,job.failed',
suggestions: [
FigSuggestion(name: 'account.connected'),
FigSuggestion(name: 'account.running'),
FigSuggestion(name: 'account.stopped'),
FigSuggestion(name: 'account.invalid'),
FigSuggestion(name: 'account.sync_error'),
FigSuggestion(name: 'message.created'),
FigSuggestion(name: 'message.opened'),
FigSuggestion(name: 'message.updated'),
FigSuggestion(name: 'message.link_clicked'),
FigSuggestion(name: 'message.bounced'),
FigSuggestion(name: 'thread.replied'),
FigSuggestion(name: 'calendar.created'),
FigSuggestion(name: 'calendar.updated'),
FigSuggestion(name: 'calendar.deleted'),
FigSuggestion(name: 'event.created'),
FigSuggestion(name: 'event.updated'),
FigSuggestion(name: 'event.deleted'),
FigSuggestion(name: 'contact.created'),
FigSuggestion(name: 'contact.updated'),
FigSuggestion(name: 'contact.updated'),
FigSuggestion(name: 'contact.deleted'),
FigSuggestion(name: 'job.successful'),
FigSuggestion(name: 'job.failed')
]
)
]
),
Option(
name: '--websocket_domain',
description: 'The domain for the websocket server',
args: [
Arg(
name: 'websocket_domain',
defaultValue: 'tunnel.nylas.com'
)
]
)
]
)
]
),
Subcommand(
name: 'help',
description: 'Help about any command',
subcommands: [
Subcommand(
name: 'api',
description: 'Access the Nylas API endpoints',
subcommands: [
Subcommand(
name: 'a',
description: 'A API commands',
subcommands: [
Subcommand(
name: 'accounts',
description: 'Accounts commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete an Account'
),
Subcommand(
name: 'get',
description: 'Return All Accounts'
)
]
),
Subcommand(
name: 'accounts:downgrade',
description: 'Accounts:downgrade commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Cancel an Account'
)
]
),
Subcommand(
name: 'accounts:revoke-all',
description: 'Accounts:revoke-all commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Revoke All Tokens'
)
]
),
Subcommand(
name: 'accounts:token-info',
description: 'Accounts:token-info commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Return Token Information'
)
]
),
Subcommand(
name: 'accounts:upgrade',
description: 'Accounts:upgrade commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Reactivate an Account'
)
]
)
]
),
Subcommand(
name: 'accounts',
description: 'Gets a list of authed accounts'
),
Subcommand(
name: 'applications',
description: 'Gets your application info'
),
Subcommand(
name: 'calendars',
description: 'Calendars API commands',
subcommands: [
Subcommand(
name: 'availability',
description: 'Availability commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Availability for a Single Meeting'
)
]
),
Subcommand(
name: 'availability:consecutive',
description: 'Availability:consecutive commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Availability for Multiple Meetings'
)
]
),
Subcommand(
name: 'delete',
description: 'Delete a Calendar'
),
Subcommand(
name: 'free-busy',
description: 'Free-busy commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Calendar Free or Busy'
)
]
),
Subcommand(
name: 'get',
description: 'Return All Calendars'
),
Subcommand(
name: 'post',
description: 'Create a Calendar'
),
Subcommand(
name: 'put',
description: 'Update A Calendar'
)
]
),
Subcommand(
name: 'connect',
description: 'Connect API commands',
subcommands: [
Subcommand(
name: 'detect-provider',
description: 'Detect-provider commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Detect Provider'
)
]
)
]
),
Subcommand(
name: 'contacts',
description: 'Contacts API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Contact'
),
Subcommand(
name: 'get',
description: 'Return All Contacts'
),
Subcommand(
name: 'groups',
description: 'Groups commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Contact Groups'
)
]
),
Subcommand(
name: 'picture',
description: 'Picture commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Returns a Contacts Picture'
)
]
),
Subcommand(
name: 'post',
description: 'Create a Contact'
),
Subcommand(
name: 'put',
description: 'Update a Contact'
)
]
),
Subcommand(
name: 'delta',
description: 'Delta API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Request Delta Cursors'
),
Subcommand(
name: 'latest:cursor',
description: 'Latest:cursor commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Get a Delta Cursor'
)
]
),
Subcommand(
name: 'longpoll',
description: 'Longpoll commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Long-Polling Deltas'
)
]
),
Subcommand(
name: 'streaming',
description: 'Streaming commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Streaming Deltas'
)
]
)
]
),
Subcommand(
name: 'drafts',
description: 'Drafts API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Draft'
),
Subcommand(
name: 'get',
description: 'Return All Drafts'
),
Subcommand(
name: 'post',
description: 'Create a New Draft'
),
Subcommand(
name: 'put',
description: 'Update a Draft'
)
]
),
Subcommand(
name: 'events',
description: 'Events API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete An Event'
),
Subcommand(
name: 'get',
description: 'Return All Events'
),
Subcommand(
name: 'post',
description: 'Create an Event'
),
Subcommand(
name: 'put',
description: 'Update An Event'
),
Subcommand(
name: 'to-ics',
description: 'To-ics commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Generate ICS File'
)
]
)
]
),
Subcommand(
name: 'files',
description: 'Files API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a File'
),
Subcommand(
name: 'download',
description: 'Download commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Download a File'
)
]
),
Subcommand(
name: 'get',
description: 'Return All Files'
),
Subcommand(
name: 'post',
description: 'Upload a New File'
)
]
),
Subcommand(
name: 'folders',
description: 'Folders API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Folder'
),
Subcommand(
name: 'get',
description: 'Return All Folders'
),
Subcommand(
name: 'post',
description: 'Create a Folder'
),
Subcommand(
name: 'put',
description: 'Update a Folder'
)
]
),
Subcommand(
name: 'ip-addresses',
description: 'Gets a list of Nylas IP addresses (paid customers only)'
),
Subcommand(
name: 'job-statuses',
description: 'Job-Statuses API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return All Job Statuses'
)
]
),
Subcommand(
name: 'labels',
description: 'Labels API commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete a Label'
),
Subcommand(
name: 'get',
description: 'Return All Labels'
),
Subcommand(
name: 'post',
description: 'Create a Label'
),
Subcommand(
name: 'put',
description: 'Update a Label'
)
]
),
Subcommand(
name: 'messages',
description: 'Messages API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return All Messages'
),
Subcommand(
name: 'put',
description: 'Update a Message'
)
]
),
Subcommand(
name: 'neural',
description: 'Neural API commands',
subcommands: [
Subcommand(
name: 'categorize',
description: 'Categorize commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Categorize a Message'
)
]
),
Subcommand(
name: 'categorize:feedback',
description: 'Categorize:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Categorize Message Feedback'
)
]
),
Subcommand(
name: 'conversation',
description: 'Conversation commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Clean Conversation'
)
]
),
Subcommand(
name: 'conversation:feedback',
description: 'Conversation:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Clean Conversations Feedback'
)
]
),
Subcommand(
name: 'ocr',
description: 'Ocr commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Optical Character Recognition'
)
]
),
Subcommand(
name: 'ocr:feedback',
description: 'Ocr:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Optical Character Recognition Feedback'
)
]
),
Subcommand(
name: 'sentiment',
description: 'Sentiment commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Sentiment Analysis'
)
]
),
Subcommand(
name: 'sentiment:feedback',
description: 'Sentiment:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Sentiment Analysis Feedback'
)
]
),
Subcommand(
name: 'signature',
description: 'Signature commands',
subcommands: [
Subcommand(
name: 'put',
description: 'Signature Extraction'
)
]
),
Subcommand(
name: 'signature:feedback',
description: 'Signature:feedback commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Signature Extraction Feedback'
)
]
)
]
),
Subcommand(
name: 'resources',
description: 'Resources API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Return Room Resource Information'
)
]
),
Subcommand(
name: 'send',
description: 'Send API commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Send a Message'
)
]
),
Subcommand(
name: 'send-rsvp',
description: 'Send-Rsvp API commands',
subcommands: [
Subcommand(
name: 'post',
description: 'Send RSVP'
)
]
),
Subcommand(
name: 'threads',
description: 'Threads API commands',
subcommands: [
Subcommand(
name: 'get',
description: 'Returns All Threads'
),
Subcommand(
name: 'put',
description: 'Update a Thread'
)
]
),
Subcommand(
name: 'v2',
description: 'V2 API commands',
subcommands: [
Subcommand(
name: 'outbox',
description: 'Outbox commands',
subcommands: [
Subcommand(
name: 'delete',
description: 'Delete Scheduled Message'
),
Subcommand(
name: 'get',
description: 'Return All Messages to Be Sent'
),
Subcommand(
name: 'post',
description: 'Send a Message'
),
Subcommand(
name: 'put',
description: 'Update Send Time'
)
]
)
]
),
Subcommand(
name: 'webhooks',
description: 'Gets a list of webhooks'
)
]
),
Subcommand(
name: 'auth',
description: 'Auth your email account'
),
Subcommand(
name: 'docs',
description: 'Documentation lookup (preview)'
),
Subcommand(
name: 'init',
description: 'Setup your dashboard application credentials'
),
Subcommand(
name: 'version',
description: 'Gets the current CLI version'
),
Subcommand(
name: 'webhook',
description: 'Create and test Nylas\' Webhooks',
subcommands: [
Subcommand(
name: 'tunnel',
description: 'Starts listening for incoming Nylas webhook events'
)
]
)
]
)
],
options: [
Option(
name: '--access_token',
description: 'Nylas account access token',
isPersistent: true,
args: [
Arg(
name: 'access_token'
)
]
),
Option(
name: '--config_dir',
description: 'Config directory',
isPersistent: true,
args: [
Arg(
name: 'config_dir',
defaultValue: '~/.nylas',
template: 'folders'
)
]
),
Option(
name: '--config_file',
description: 'Config file (default is config.yaml)',
isPersistent: true,
args: [
Arg(
name: 'config_file',
template: 'filepaths'
)
]
),
Option(
name: '--dashboard_api_url',
description: 'Dashboard API URL',
isPersistent: true,
args: [
Arg(
name: 'dashboard_api_url'
)
]
),
Option(
name: '--debug',
description: 'Enable debugging output',
isPersistent: true
),
Option(
name: '--disable_telemetry',
description: 'Disables sending telemetry data',
isPersistent: true
),
Option(
name: '--nylas_api_url',
description: 'Nylas API URL',
isPersistent: true,
args: [
Arg(
name: 'nylas_api_url'
)
]
),
Option(
name: ['--output', '-o'],
description: 'Output format (e.g. json, table)',
isPersistent: true,
args: [
Arg(
name: 'output',
defaultValue: 'json',
suggestions: [
FigSuggestion(name: 'json'),
FigSuggestion(name: 'table')
]
)
]
),
Option(
name: '--region',
description: 'Nylas Region (values: us, ireland, canada, australia)',
isPersistent: true,
args: [
Arg(
name: 'region',
suggestions: [
FigSuggestion(name: 'us'),
FigSuggestion(name: 'ireland'),
FigSuggestion(name: 'canada'),
FigSuggestion(name: 'australia')
]
)
]
),
Option(
name: '--silent',
description: 'Silences the output',
isPersistent: true
),
Option(
name: ['--help', '-h'],
description: 'Display help',
isPersistent: true
)
]
);