Version:
Only show these results:

Making API requests with the Nylas CLI

With the Nylas CLI, you can make API requests directly from the terminal. Follow the Calendar endpoint examples to view the requests and responses through the CLI.

nylas api [command] [flags]   

CLI Available Commands

Each API command matches Nylas API endpoints. View the available commands in the CLI below or in your terminal with the help flag. View the Nylas CLI Commands for all available actions.

  • accounts: Gets a list of authenticated accounts.
  • applications: Gets your application info.
  • calendars: Calendars API commands.
  • contacts: Contacts API commands.
  • delta: Delta API commands.
  • drafts: Drafts API commands.
  • events: Events API commands.
  • files: Files API commands.
  • folders: Folders API commands.
  • ip-addresses: Gets a list of Nylas IP addresses (paid customers only).
  • job-statuses: Job-Statuses API commands.
  • labels: Labels API commands.
  • messages: Messages API commands.
  • neural: Neural API commands.
  • resources: Resources API commands.
  • send: Send API commands.
  • threads: Threads API commands.
  • webhooks: Gets a list of webhooks.

Using a File Reference

Add a JSON file to use as a reference for any available commands. The < character directs the command to a filename in the current directory.

nylas api [commands] < [sample.json]   

File Reference Example

The POST API request for the Calendar endpoint uses the calendar_test.json file for query parameters.

nylas api calendars post < calendar_test.json   

JSON File Contents

{
"name": "My New Calendar",
"description": "Description of my new calendar",
"location": "Location description",
"timezone": "America/Los_Angeles"
}

POST Calendars Response

{
"account_id": "<ACCOUNT_ID>",
"description": "Description of my new calendar",
"id": "<CALENDAR_ID>",
"is_primary": false,
"job_status_id": "db83las7n4ekrdgzaqnbd8plc",
"location": "Location description",
"name": "My New Calendar",
"object": "calendar",
"read_only": false,
"timezone": "America/Los_Angeles"
}

CLI API Requests

The request and response examples below go through each of the methods for the Nylas Calendars endpoint.

The responses below use the default JSON output format. For information about the table formatting, see the table section guide.

GET Calendars Example

For the complete reference, see the GET /calendars API documentation.

GET Calendars Request

The GET request example for the /calendars endpoint has the --limit flag added.

nylas api calendars get --limit=2   

GET Calendars Response

[
{
"account_id": "<ACCOUNT_ID>",
"description": "Emailed events",
"id": "<CALENDAR_ID>",
"is_primary": null,
"location": null,
"name": "Emailed events",
"object": "calendar",
"read_only": true,
"timezone": null
},
{
"account_id": "<ACCOUNT_ID>",
"description": null,
"id": "<CALENDAR_ID>",
"is_primary": true,
"location": null,
"name": "hello@example.com",
"object": "calendar",
"read_only": false,
"timezone": "America/Vancouver"
}
]

POST Calendars Example

For the complete reference, see the POST /calendars API documentation.

POST Calendars Request

The POST request example for the /calendars endpoint has the --body flag added with additional query parameters. To add these parameters as a JSON file, view the guide on Using a File Reference.

nylas api calendars post --body='{
"name": "My New Calendar",
"description": "Description of my new calendar",
"location": "Location description",
"timezone": "America/Los_Angeles"
}'

POST Calendars Response

{
"account_id": "<ACCOUNT_ID>",
"description": "Description of my new calendar",
"id": "<CALENDAR_ID>",
"is_primary": false,
"job_status_id": "3lsrtnwabxta2v171uht241x9",
"location": "Location description",
"name": "My New Calendar",
"object": "calendar",
"read_only": false,
"timezone": "America/Los_Angeles"
}

POST Calendars Terminal Example

The video below shows how the POST /calendars request works in the CLI.

PUT Calendars Example

For the complete reference, see the PUT /calendars API documentation.

PUT Calendars Request

The PUT request example for the /calendars endpoint includes the <CALENDAR_ID> value and has the --body flag added.

nylas api calendars put <CALENDAR_ID> --body='{"description": "Better description of the calendar."}'   

PUT Calendars Response

{
"account_id": "<ACCOUNT_ID>",
"description": "Better description of the calendar.",
"id": "<CALENDAR_ID>",
"is_primary": false,
"job_status_id": "3wb767lba3adaxalnkw4sqhg8",
"location": "Location description",
"name": "My New Calendar",
"object": "calendar",
"read_only": false,
"timezone": "America/Los_Angeles"
}

DELETE Calendars Example

For the complete reference, see the DELETE /calendars API documentation.

DELETE Calendars Request

The DELETE request example for the /calendars endpoint includes the <CALENDAR_ID> value.

nylas api calendars delete <CALENDAR_ID>   

DELETE Calendars Response

{
"job_status_id": "14fbiqtmnersloa2o6tdqd25b"
}