https://github.com/purecloudlabs/genesyscloud-cli
CLI tool to interact with Genesys Cloud APIs.
https://github.com/purecloudlabs/genesyscloud-cli
Last synced: 4 months ago
JSON representation
CLI tool to interact with Genesys Cloud APIs.
- Host: GitHub
- URL: https://github.com/purecloudlabs/genesyscloud-cli
- Owner: purecloudlabs
- License: mit
- Created: 2020-12-02T16:10:53.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-02-13T23:04:41.000Z (over 2 years ago)
- Last Synced: 2025-04-11T17:00:01.942Z (over 1 year ago)
- Language: Python
- Size: 20.5 KB
- Stars: 3
- Watchers: 5
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Genesys Cloud CLI
> ⚠ **WARNING:** This is a result of a hackathon project and while it is functional it is not officially supported by the Genesys Development Group.
The Genesys Cloud cli is a tool to interact with [Genesys Cloud](https://developer.mypurecloud.com/)
Note that if you us oh-my-zsh, it aliases gc to a git command, this cli works using either gc or gcli if you are using that alias.
## Running locally
```
$ virtualenv venv
$ . venv/bin/activate
$ pip install --editable .
```
## Local setup
The cli authenticates using client credentials which you will have to [create yourself](https://help.mypurecloud.com/articles/create-an-oauth-client/)
```gc profile new``` is the easiest way to setup your credentials. This will create a credentials file at ~/.genesyscloud/credentials and can support multiple profiles for different organizations.
```
$ gc profile new
Profile Name [DEFAULT]: mycompanyname
Genesys Cloud Environment (mypurecloud.com, usw2.pure.cloud): mypurecloud.com
OAuth Client ID: dfbdc514-e830-4745-bffa-1cb7ee7f2736
OAuth Client Secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```
### Profiles
With multiple profiles configured, you can either specify one when connnecting:
```$ gc --profile ```
Or switch a named profile to the default
```$ gc profile setdefault ```
### Configuration Options
```~/.genesyscloud/config``` contains configurable options in the DEFAULT section
```
[DEFAULT]
output_type = yaml
```
## Command Structure
The Genesys Cloud cli uses a multipart structure
```
$ gc [options and params]
```
### Pagination
For resources that have multiple pages such as listing users, there are options available on how to process the pages. By default the cli uses a page size of 250 and retrieves all items.
```
--page-size # set a page size other than 250
--page-number # return a specific page
```
### Data Inputs
Some commands require bodies to be sent with the request, such as creating a new user. The body can be supplied a number of ways.
1) Passing json with the command (escaped whitespace is not currently supported)
```
$ gc users new "{\"name":\"Joe Smith\"}"
```
2) Referencing a file
```
$ gc users new user.json
```
3) Stream input
```
$ gc users new < user.json
```
```
$ echo "{\"name":\"Joe Smith\"}" | gc user new
```