api-docs.bluecedar.com Open in urlscan Pro
54.225.205.215  Public Scan

URL: https://api-docs.bluecedar.com/
Submission: On April 13 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * Body
 * Headers (1)




Public


Documentation Settings

ENVIRONMENT
No Environment

LAYOUT
Double Column

LANGUAGE
cURL - cURL



Blue Cedar API Documentation
Introduction
Getting started
Apps v0.1
Authentication


BLUE CEDAR API DOCUMENTATION

Incorporate Blue Cedar deployment services into your CI/CD pipelines using these
APIs.


GETTING STARTED

All requests using the Blue Cedar APIs are authorized with a Bear token.


AUTHENTICATION

An access token must be retrieved first and passed into the Authorization
header. For more information obtaining an access token, see the Authorization
documentation.


AUTHENTICATION ERROR RESPONSE

If a Bearer token or Authorization header is missing, malformed, or invalid, you
will receive an HTTP 401 Unauthorized response code.

AUTHORIZATIONBearer Token
Token

{{accessToken}}


APPS V0.1

The following APIs describe how to use apps in the Blue Cedar Platform. These
Platform APIs are used for app folders, apps, and files associated with apps.

All requests are authorized with a Bearer token. An access token must be
retrieved first and passed into the Authorization header. For more information
obtaining an access token, see the Authorization documentation.

REQUEST IDS

Each request will have an associated requestId in the JSON response. Use this
requestId with Blue Cedar Support if more information is needed about an error
response. See the documentation of a specific request to get more details, but
the generic format of a response will contain the requestId:

json


{
    "requestId": "7bfb6c93-781b-42af-bbd3-86790ae0f139"
    ...
}

PAGING

For requests that support paging, add query params to the GET request. The
following query params for paging can be used:

Query param Description page The page number of the resource to GET. 1-index
based. Default: 1 size The number of items to return in the response for a page.
Default: 20

For example, to get page #3 of app folders with a page size of 2 entries, the
request would be:
GET /v0.1/app_folders?page=3&size=2

SORTING

For requests that support sorting, add query params to the GET request. See
detailed API description for any other attributes specific to the API that are
allowed for sorting. The following query params for sorting can be used:

Query param Description createdDate Sort response by attribute creation date
modifiedDate Sort response by attribute modification date asc Sort ascending.
Used in combinatation with createdDate or modifiedDate. (default) desc Sort
descending. Used in combinatation with createdDate or modifiedDate.

For example, to sort all apps ascending by created date, use the following
request:

GET /v0.1/apps?sort=createdDate,asc

If no sort params are provided, the default response is sorted descending by
createdDate

FILTERING

For requests that support filtering, a query param can be used to filter the
returned results. Each filter param is distinct to the request. See detailed API
description for allowed filters. For example, to get all the app folders that
contain an app with id b37fdc9b-7fc8-44fc-ba33-ab9b045e0a58, the request would
be:

GET /v0.1/app_folders?appId=b37fdc9b-7fc8-44fc-ba33-ab9b045e0a58

FILE PROCESSING

The APIs that accept files as part of the request body will accept only a single
file. If more than 1 file is sent in the request, only the first file will be
processed, and the rest will be ignored. For example, if more than 1 app is sent
to the POST /v0.1/apps api, only the first app will be uploaded, and the rest
will be ignored. Use multiple requests to upload more than 1 app.

SCHEMA

A request JSON schema is provided via a /v0.1/schema/{resource} URL. The schema
conforms to JSON schema draft-04
(https://json-schema.org/draft-04/draft-zyp-json-schema-04). See detailed API
descriptions for examples.

GENERAL ERROR RESPONSES

If a request fails to adhere to proper HTTP, a response status of 400 will be
returned with a detailed error message, if known. For example, any request that
missing a required Content-Type header receive the following response:

json


{
    "message": "Missing Content-Type",
    "code": 20000,
    "requestId": "7bfb6c93-781b-42af-bbd3-86790ae0f139"
}

Any request with an unknown body parameter will respond with:

json


{
    "message": "Unknown request parameter",
    "requestId": "7bfb6c93-781b-42af-bbd3-86790ae0f139"
}

For a more generic HTTP error, the client will receive the following response:

json


{
    "message": "Something went wrong!",
    "requestId": "7bfb6c93-781b-42af-bbd3-86790ae0f139"
}

Please check the HTTP status code of the response along with the JSON to find
the cause of the error. Some example response codes are:

HTTP Status Code Description 400 Bad Request. Please check your request. 401
Invalid credentials. 403 Valid credentials were successfully authenticated, but
the user is not authorized for the action. 404 Resource not found. Please check
your url and optional resource ID in the url. 500 Internal Server Error. Please
check your request and contact support if needed. Save the requestId from the
response to provide to support.

AUTHORIZATIONBearer Token
Token

{{accessToken}}


APPS

This API is used to upload apps or app bundles and manipulate attributes of
those apps.

The Platform supports the following app types for upload:

   
 * Android APKs
   
 * iOS IPAs
   

FILTERING & SORTING

See top level API description for more info on filtering & sorting. The Apps API
supports the following filter and sort keys:

Filter key Value Description appInternalVersion version string to filter Returns
all apps with the specified version platform ANDROID or IOS Return all apps with
specified platform state state string to filter Returns all apps in the
specified state. See below for possible state values android.packageName package
name of the Android app to filter Returns all Android apps with the specified
package name ios.bundleId bundle ID of the iOS app to filter Returns all iOS
apps with the specified bundle ID appFolderId app folder resource ID Returns all
apps associated to the specified app folder (filtering only)

APP STATES

During an import, an app will go through multiple asyncrounous operations. The
state field describes the current stage of the import process. The table below
describes the possible states:

State Description PENDING_UPLOAD An app entry has been created and the file
upload is in progress UPLOAD_FAILED An app entry has been created and the file
upload attempted. The file upload failed UPLOADED The app entry has been created
along with a successful file upload SCAN_IN_PROGRESS A scan of the app is in
progress SCAN_FAILED A scan of the app failed COMPLETE The app has been
successfully created and scanned

AUTHORIZATIONBearer Token
This folder is using Bearer Token from folderApps v0.1

SCAN DATA

Read-only API to get all information about an app that was retrived from a Blue
Cedar scan.

AUTHORIZATIONBearer Token
This folder is using Bearer Token from folderApps v0.1



GETGET ALL SCAN DATA FOR THIS APP


{{baseUrl}}/v0.1/apps/{{appId}}/scan_data

Retrieve all data collected about this app.

AUTHORIZATIONBearer Token
This request is using Bearer Token from folderApps v0.1
Example Request
Get all scan data for an Android app

View More
curl


curl --location -g '{{baseUrl}}/v0.1/apps/d02a3a88-2d0d-4ce5-8ccb-c6f1d141adc0/scan_data'

200 OK
Example Response
 * Body
 * Headers (1)

View More
json


{
  "id": "4fd219d7-d298-4bf5-b2e1-bcf52ef56869",
  "audit": {
    "createdBy": "04eaca09-2348-4cb9-b272-291a88cb356f",
    "createdDate": "2023-11-21T18:37:46.162574",
    "modifiedBy": "04eaca09-2348-4cb9-b272-291a88cb356f",
    "modifiedDate": "2023-11-21T18:37:46.162574"
  },
  "scanData": {
    "ANDROID_BASIC": {
      "metaInfo": {
        "appName": "Compass",
        "appVersion": "4.16.0-beta-373-a30cf9f",
        "sdkVersion": "31",
        "packageName": "com.bluecedar.compass",
        "appVersionCode": "4016000",
        "targetSdkVersion": "31",
        "platformBuildVersionName": "12"
      },
      "appIconInfo": {
        "appIcon": "df8ec6f8-d966-4181-8928-b82819909c55"
      },
      "signingInfo": {
        "signers": [
          {
            "data": [
              {
                "pathInApp": "META-INF/CERT.RSA",
                "certificates": [
                  {
                    "issuer": "CN=TestIssuer,OU=Eng,O=Org,L=City,ST=ST,C=US",
                    "endDate": "2038-10-23T04:41:46.000+00:00",
                    "subject": "CN=TestCN,OU=Eng,O=Org,L=City,ST=ST,C=US",
                    "startDate": "2011-06-07T04:41:46.000+00:00",
                    "signingAlgorithm": "SHA1WITHRSA"
                  }
                ]
              }
            ],
            "schemeVersion": "1"
          }
        ]
      }
    }
  },
  "_links": {
    "self": {
      "href": "{{baseUrl}}/v0.1/apps/d02a3a88-2d0d-4ce5-8ccb-c6f1d141adc0/scan_data"
    },
    "scanData": {
      "href": "{{baseUrl}}/v0.1/apps/d02a3a88-2d0d-4ce5-8ccb-c6f1d141adc0/scan_data"
    }
  }
}

Content-Type

application/json