API Documentation

Configure8 API documentation

The Configure8 API is based on REST architecture style. The API uses standard HTTP verbs, codes and authentication. Endpoints accept and return JSON-encoded data.

Authentication

Configure8 API is protected by API keys. In order to use our API, you need to set up a key with appropriate scopes and role. You can refer to the API keys management section in our documentation to check out more detailed information.

Please make sure that you are not exposing your API keys. Keep them secure and do not share them publicly!

Configure8 API keys start with c8ak prefix, so they support secret scanning (i. e. Github secret scanning) to help you to avoid exposing API keys.

Authentication is performed via Api-Key Header. All API calls must be authenticated and made over HTTPS.

curl https://app.configure8.io/public/v1/catalog/entities \
--header "Api-Key: my_api_key" 

Errors

As for errors, Configure8 API uses standard HTTP status codes. Below you see the most common status codes and possible reasons.

Status codeDescription

2xx

OK

400

Bad request. Possible reason - malformed request (i.e. body, params).

401

Unauthorised. The API key is invalid or was not provided.

403

Forbidden. The does not have enough permissions to perform this operation.

404

Not found. Requested entity is not found.

409

Conflict. Usually caused by duplicating names in resources, incorrect template usage on entity creation etc.

422

Unprocessable entity. The request syntax is correct, but there is a business logic error from the client's side.

5xx

Configure8 internal server error.

Pagination

Endpoints that return multiple items (e. g. /public/v1/catalog/entities) contain pagination for more convenient usage. It is based on such properties: pageNumber, pageSize and sort.

PropertyDefaultDescription

pageNumber

0

Page to return. Offset to return is calculated based on pageNumber * pageSize

pageSize

20

Number of items to return

sort

Sorted by name in ascending order

Sorting of items is defined by this structure: { property: 'propertyToSortOn', order: 'ASC' | 'DESC' }

Endpoints

Catalog Entity

NB: Only meta tags and tags can be updated for discovery created resources

Library packageManager possible values:

"ACTIONS", "NPM", "PIP", "MAVEN", "GRADLE", "GO"

Manifest and repository provider possible values:

"GitHub", "Bitbucket", "GitLab", "Azure DevOps"

Catalog Entity Relation

NB: create/delete relations between discovery created resources are forbidden

Labels possible values:

"belongs_to", "depends_on", "provides", "has_environment", "part_of", "owned_by", "consumes", "uses", "contains", "has_repository", "has_library", "has_manifest", "has_dependency", "child_of", "relative_to"

Possible entities relations:

service -> has_environment -> environment

service -> part_of -> system

service -> belongs_to -> application

team -> belongs_to -> person

service -> depends_on -> service

environment -> contains -> resource

resource -> uses -> resource

resource -> child_of -> resource

system -> depends_on -> system

application -> depends_on -> application

service -> has_repository -> repository

repository -> has_library -> library

repository -> has_manifest -> manifest

manifest -> has_dependency -> library

Catalog Entity Metadata

Metadata type possible values:

"JSON", "Code", "Link", "Text", "AutoMap", "Nickname"

Template

Template type possible values:

"core", "user"

Template entityType possible values:

"service"

Template category possible values:

"create", "display"

Scorecard

Module settings (service plugins)

UI plugin names possible values:

"github_actions", "github_activity", "gitlab_pipelines", "gitlab_activity", "azure_devops_activity", "azure_devops_pipelines", "bitbucket_pipelines", "bitbucket_activity", "circle_ci", "datadog_embedded_dashboard", "datadog_embedded_graph", "datadog_monitor", "datadog_slo", "embedded_view", "jenkins", "jira_activity", "new_relic_chart", "opsgenie_oncall", "pagerduty_oncall", "scorecards", "sonarcloud_repo_profile"

Provider type possible values:

"REPOS", "CICD", "OTHER", "ISSUE_TRACKING", "OMS", "CODE_INSPECTION"

Provider name possible values:

"GitHub", "GitLab", "Azure DevOps", "Bitbucket", "CircleCI", "Datadog", "EmbeddedView", "Jenkins", "Jira", "NewRelic", "OpsGenie", "PagerDuty", "Scorecards", "SonarCloud"

Service dependencies

Deployments

User

Batch API

NB: max batch size equals 50 elements

Credentials

Query Builder

Query Builder API can be used to create complex queries and retrieve data from relations with multiple filtering layers. You can check the full documentation here.

Cost batch

Maximum batch size is 1000 elements. Please use "operation" name "TOTAL" to save total cost info for resource per day.

Last updated

Copyright © 2023 configure8, Inc. All rights reserved.