Coro Cybersecurity Public API (v1)


This is the Coro Cybersecurity platform API specification reference.

This section provides a complete reference listing for the Coro Cybersecurity REST API resource model.

About the resource reference

This reference lists all the resources available through the Coro REST API.

Each section relates to a specific resource and provides its name, description, unique URI path, and the list of operations you can perform on it.

For each operation, you can find:

  • A complete description of the action
  • Request parameters
  • A list of potential responses
  • Security (authentication) requirements

The portal also provides code samples and examples for making requests in a number of programming languages, together with samples of the possible response bodies.

In addition to this, Coro provides a Try It feature where you can interact with the API directly through the portal. To use Try It, you'll need to first obtain Client ID and Secret credentials; for more information, see Authentication.

Languages
Servers
Coro mock API server

https://docs.coro.net/_mock/api/api-docs/

Coro US API server target URL

https://api.secure.coro.net/

audit-logs

This is the audit log resource.

Operations

authentication

This is the resource for API authentication requests.

Use this resource to validate your identify and to obtain a bearer token to use when accessing other API resources.

Operations

devices

This is the Devices resource.

Use this resource to get details of all protected devices for a particular workspace.

Operations

portal-users

This is the portal user resource.

Use this resource to get details of all portal users added to the specified workspace.

Operations

subscriptions

This is the subscriptions resource.

Use this resource to view and manage workspace subscriptions.

Operations

tickets

This is the Tickets resource.

Use this resource to get details of all tickets stored in the Coro platform for a particular workspace.

Operations

tickets-summary

This is the Tickets Summary resource.

Use this resource to get details of tickets for a particular workspace, grouped by protection component.

Operations

usage

This is the resource for Coro usage.

Use this resource to obtain information about usage

Operations

users

This is the protected user resource.

Use this resource to get details of all protected users added to the specified workspace.

Operations

webhook-configuration

Use this resource to manage or view details of existing webhooks configurations, or to create new webhook configurations.

Operations

workspaces

Use this resource to view details of provisioned workspaces, or to create new workspaces.

Operations

Archive a workspace

Request

Archive an inactive workspace using the specified workspace ID. When a workspace is archived, any cloud applications are disconnected, and Inbound Gateway and Network settings are cleared. Admin users can’t sign into archived workspaces, and archived workspaces don’t appear in an MSP's list of workspaces.

Security
JWT
Headers
Workspacestringrequired

The workspace identifier, which isolates API requests inside the provided workspace scope.

Example: corodevonmicrosoftcom_TX7T_u
curl -i -X PUT \
  https://docs.coro.net/_mock/api/api-docs/v1/workspaces/archive \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Workspace: corodevonmicrosoftcom_TX7T_u'

Responses

Success

Bodyapplication/json
Response
application/json
null

Retrieve a workspace

Request

Retrieve a workspace by its unique identifier.

Security
JWT
Headers
Workspacestringrequired

The workspace identifier, which isolates API requests inside the provided workspace scope.

Example: corodevonmicrosoftcom_TX7T_u
curl -i -X GET \
  https://docs.coro.net/_mock/api/api-docs/v1/workspaces \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Workspace: corodevonmicrosoftcom_TX7T_u'

Responses

Success

Bodyapplication/json
idstringrequired

The unique identifier of the workspace.

Example: "corodevonmicrosoftcom_EZ90_b"
companyNamestringrequired

The name of the company.

Example: "Company Name"
displayNamestringrequired

The name displayed for the workspace from the user interface.

Example: "Child workspace"
typestringrequired

The type of workspace.

Enum"regular""channel""child"
Example: "child"
domainstringrequired

The workspace domain.

Example: "child-workspace.com"
maxProtectedUsersinteger(int32)

The maximum number of protected users allowed in the workspace.

Example: 25
notificationsLevelstring

The workspace admin portal users who receive notifications.

Enum"none""parent""localAdmins""all"
Example: "none"
parentWorkspaceIdstring

The unique identifier of the parent/channel workspace.

Example: "coroparent_123"
protectedDevicesinteger(int32)

The number of protected devices in the workspace.

childrenArray of stringsunique

A list of any child workspaces provisioned for this workspace.

mainAdminEmailstring

The admin portal user email address provided when the workspace was created.

adminEmailsArray of stringsunique

The email addresses of all admin portal users associated with the workspace.

pendingAdminEmailsArray of stringsunique

The email addresses of all pending admins associated with the workspace.

lastAdminLoginTimeinteger(int64)

The most recent login to the workspace by an admin user, in UNIX format, including milliseconds.

Example: 1693562400000
workspaceCreationTimeinteger(int64)

The date the workspace was created, in UNIX format, including milliseconds.

Example: 1641009600000
workspaceCreationTypestring

Defines the method and creator of the workspace.

  • msp – Workspace created via the MSP portal by a user with the MSP role.
  • internal – Workspace created via the MSP portal by a user with the Global role.
  • api – Workspace provisioned through the API.
  • direct – Workspace created via the self-service sign-up process.
Enum"msp""internal""api""direct"
Example: "direct"
Response
application/json
{ "id": "corodevonmicrosoftcom_EZ90_b", "companyName": "Company Name", "displayName": "Child workspace", "type": "child", "domain": "child-workspace.com", "maxProtectedUsers": 25, "notificationsLevel": "none", "parentWorkspaceId": "coroparent_123", "protectedDevices": 0, "children": [ "string" ], "mainAdminEmail": "string", "adminEmails": [ "string" ], "pendingAdminEmails": [ "string" ], "lastAdminLoginTime": 1693562400000, "workspaceCreationTime": 1641009600000, "workspaceCreationType": "direct" }

Create a workspace

Request

Create a new workspace. Each workspace represents a separate organization. Managed service providers (MSPs) can create child workspaces for each of their customers.

Security
JWT
Headers
Workspacestringrequired

The workspace identifier, which isolates API requests inside the provided workspace scope.

Example: corodevonmicrosoftcom_TX7T_u
Bodyapplication/jsonrequired
companyNamestringrequired

The name of the company for which the workspace is created.

Example: "Company Name"
displayNamestringrequired

The name displayed for the workspace from the user interface.

Example: "Child workspace"
typestringrequired

The type of workspace to be created. Types include: regular, for individual companies, channel for the MSP parent level, and child for MSP customers.

Enum"regular""channel""child"
Example: "child"
domainstringrequired

The workspace domain.

Example: "child-workspace.com"
adminEmailstringrequired

The email address of the admin portal user who manages the workspace.

Example: "admin@child-workspace.com"
maxProtectedUsersinteger(int32)>= 0

The maximum number of protected users allowed in the workspace.

Example: 25
notificationsLevelstringrequired

The workspace admin portal users who receive notifications.

Default "all"
Enum"none""parent""localAdmins""all"
Example: "all"
curl -i -X POST \
  https://docs.coro.net/_mock/api/api-docs/v1/workspaces \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Workspace: corodevonmicrosoftcom_TX7T_u' \
  -d '{
    "companyName": "Company Name",
    "displayName": "Child workspace",
    "type": "child",
    "domain": "child-workspace.com",
    "adminEmail": "admin@child-workspace.com",
    "maxProtectedUsers": 25,
    "notificationsLevel": "all"
  }'

Responses

Created

Bodyapplication/json
idstringrequired

The unique identifier of the workspace.

Example: "corodevonmicrosoftcom_EZ90_b"
companyNamestringrequired

The name of the company.

Example: "Company Name"
displayNamestringrequired

The name displayed for the workspace from the user interface.

Example: "Child workspace"
typestringrequired

The type of workspace.

Enum"regular""channel""child"
Example: "child"
domainstringrequired

The workspace domain.

Example: "child-workspace.com"
maxProtectedUsersinteger(int32)

The maximum number of protected users allowed in the workspace.

Example: 25
notificationsLevelstring

The workspace admin portal users who receive notifications.

Enum"none""parent""localAdmins""all"
Example: "none"
parentWorkspaceIdstring

The unique identifier of the parent/channel workspace.

Example: "coroparent_123"
protectedDevicesinteger(int32)

The number of protected devices in the workspace.

childrenArray of stringsunique

A list of any child workspaces provisioned for this workspace.

mainAdminEmailstring

The admin portal user email address provided when the workspace was created.

adminEmailsArray of stringsunique

The email addresses of all admin portal users associated with the workspace.

pendingAdminEmailsArray of stringsunique

The email addresses of all pending admins associated with the workspace.

lastAdminLoginTimeinteger(int64)

The most recent login to the workspace by an admin user, in UNIX format, including milliseconds.

Example: 1693562400000
workspaceCreationTimeinteger(int64)

The date the workspace was created, in UNIX format, including milliseconds.

Example: 1641009600000
workspaceCreationTypestring

Defines the method and creator of the workspace.

  • msp – Workspace created via the MSP portal by a user with the MSP role.
  • internal – Workspace created via the MSP portal by a user with the Global role.
  • api – Workspace provisioned through the API.
  • direct – Workspace created via the self-service sign-up process.
Enum"msp""internal""api""direct"
Example: "direct"
Response
application/json
{ "id": "corodevonmicrosoftcom_EZ90_b", "companyName": "Company Name", "displayName": "Child workspace", "type": "child", "domain": "child-workspace.com", "maxProtectedUsers": 25, "notificationsLevel": "none", "parentWorkspaceId": "coroparent_123", "protectedDevices": 0, "children": [ "string" ], "mainAdminEmail": "string", "adminEmails": [ "string" ], "pendingAdminEmails": [ "string" ], "lastAdminLoginTime": 1693562400000, "workspaceCreationTime": 1641009600000, "workspaceCreationType": "direct" }

Search for a workspace

Request

This endpoint can be used to search for a workspace which you have access to. The workspace header defines the parent workspace to search below.

Security
JWT
Query
pagestring>= 0

API responses use pagination to reduce loading time. Return a specific page of results, using a zero-based page index (0..N).

Default "0"
Example: page=0
pageSizestring[ 10 .. 500 ]

API responses use pagination to reduce loading time. Return a maximum of this many items per page.

Default "20"
Example: pageSize=50
searchstring

Filter by id, display name, company name and domain. This is not case sensitive.

Headers
Workspacestringrequired

The workspace identifier, which isolates API requests inside the provided workspace scope.

Example: corodevonmicrosoftcom_TX7T_u
curl -i -X GET \
  'https://docs.coro.net/_mock/api/api-docs/v1/workspaces/search?page=0&pageSize=50&search=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Workspace: corodevonmicrosoftcom_TX7T_u'

Responses

Bad request, validation error

Bodyapplication/problem+json
statusinteger(int32)

The HTTP status code

Example: 400
titlestring

Human-readable summary of the problem. It is not changing from occurrence to occurrence of the problem

Example: "Bad request"
errorsArray of strings
Example: ["Workspace: missing mandatory request header"]
timestampstring(date-time)

Error time in ISO 8601 format

Example: "2022-08-21T19:44:32.351Z"
traceIdstring

Error unique identifier

Example: "a029fd656529d7dc"
Response
application/problem+json
{ "status": 400, "title": "Bad request", "errors": [ "Workspace: missing mandatory request header" ], "timestamp": "2022-08-21T19:44:32.351Z", "traceId": "a029fd656529d7dc" }