Mock sample for your project: CircleCI REST API

Integrate with "CircleCI REST API" from circleci.com in no time with Mockoon's ready to use mock sample

CircleCI REST API

circleci.com

Version: v1


Use this API in your project

Start working with "CircleCI REST API" right away by using this ready-to-use mock sample. API mocking can greatly speed up your application development by removing all the tedious tasks or issues: API key provisioning, account creation, unplanned downtime, etc.
It also helps reduce your dependency on third-party APIs and improves your integration tests' quality and reliability by accounting for random failures, slow response time, etc.

Description

The CircleCI API is a RESTful, fully-featured API that allows you to do almost anything in CircleCI.
You can access all information and trigger all actions.
The only thing we don’t provide access to is billing functions, which must be done from the CircleCI web UI.

Other APIs in the same category

RESTful4Up

restful4up.local
RESTful API 4 Unipacker

Custom Image Search Client

microsoft.com
The Bing Custom Image Search API lets you send an image search query to Bing and get back image search results customized to meet your custom search definition.

Proxy API

Welcome to the Proxy API.
You can use this API to access all Proxy API endpoints.
Base URL
The base URL for all API requests is https://unify.apideck.com
Headers
Custom headers that are expected as part of the request. Note that RFC7230 states header names are case insensitive.
| Name | Type | Required | Description |
| ---------------------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Authorization | String | Yes | Bearer API KEY |
| x-apideck-app-id | String | Yes | The application id of your Unify application. Available at https://app.apideck.com/unify/api-keys. |
| x-apideck-consumer-id | String | Yes | The id of the customer stored inside Apideck Vault. This can be a user id, account id, device id or whatever entity that can have integration within your app. |
| x-apideck-downstream-url | String | Yes | Downstream URL to forward the request too |
| x-apideck-downstream-authorization | String | No | Downstream authorization header. This will skip the Vault token injection. |
| x-apideck-downstream-method | String | No | Downstream method. If not provided the upstream method will be inherited, depending on the verb/method of the request this will contain the request body you want to POST/PATCH/PUT. |
| x-apideck-service-id | String | No | Describe the service you want to call (e.g., pipedrive). Only needed when a customer has activated multiple integrations for the same Unified API. |
Authorization
You can interact with the API through the authorization methods below.
apiKey
To use API you have to sign up and get your own API key. Unify API accounts have sandbox mode and live mode API keys. To change modes just use the appropriate key to get a live or test object. You can find your API keys on the unify settings of your Apideck app. Your Apideck application_id can also be found on the same page.
Authenticate your API requests by including your test or live secret API key in the request header.
Bearer authorization header: Authorization: Bearer
Application id header: x-apideck-app-id:
You should use the public keys on the SDKs and the secret keys to authenticate API requests.
Do not share or include your secret API keys on client side code. Your API keys carry significant privileges. Please ensure to keep them 100% secure and be sure to not share your secret API keys in areas that are publicly accessible like GitHub.
Learn how to set the Authorization header inside Postman https://learning.postman.com/docs/postman/sending-api-requests/authorization/#api-key
Go to Unify to grab your API KEY https://app.apideck.com/unify/api-keys
| Security Scheme Type | HTTP |
| ------------------------- | ------ |
| HTTP Authorization Scheme | bearer |
applicationId
The ID of your Unify application
| Security Scheme Type | API Key |
| --------------------- | ---------------- |
| Header parameter name | x-apideck-app-id |
Static IP
Some of the APIs you want to use can require a static IP. Apideck's static IP feature allows you to the Proxy API with a fixed IP avoiding the need for you to set up your own infrastructure. This feature is currently available to all Apideck customers.
To use this feature, the API Vendor will need to whitelist the associated static IP addresses.
The provided static IP addresses are fixed to their specified region and shared by all customers who use this feature.
EU Central 1: 18.197.244.247
Other: upcoming
More info about our data security can be found at https://compliance.apideck.com/
Limitations
Timeout
The request timeout is set at 30 seconds.
Response Size
The Proxy API has no response size limit. For responses larger than 2MB, the Proxy API will redirect to a temporary URL. In this case the usual Apideck response headers will be returned in the redirect response. Most HTTP clients will handle this redirect automatically.
GET /proxy
< 301 Moved Permanently
< x-apideck-request-id: {{requestId}}
< Location: {{temporaryUrl}}
GET {{temporaryUrl}}

App Center Client

appcenter.ms
Microsoft Visual Studio App Center API

Video Search Client

microsoft.com
The Video Search API lets you search on Bing for video that are relevant to the user's search query, for insights about a video or for videos that are trending based on search requests made by others. This section provides technical details about the query parameters and headers that you use to request videos and the JSON response objects that contain them. For examples that show how to make requests, see Searching the Web for Videos.

Keycloak Admin REST API

This is a REST API reference for the Keycloak Admin

Background Removal API

remove.bg
Remove the background of any image

Registry

apigee.local
The Registry service allows teams to manage descriptions of APIs.

OpenAPI Generator Online

openapi-generator.tech
This is an online openapi generator server. You can find out more at https://github.com/OpenAPITools/openapi-generator.

Snyk API

snyk.io
The Snyk API is available to customers on paid plans and allows you to programatically integrate with Snyk.
API vs CLI vs Snyk integration
The API detailed below has the ability to test a package for issues, as they are defined by Snyk. It is important to note that for many package managers, using this API will be less accurate than running the Snyk CLI as part of your build pipe, or just using it locally on your package. The reason for this is that more than one package version fit the requirements given in manifest files. Running the CLI locally tests the actual deployed code, and has an accurate snapshot of the dependency versions in use, while the API can only infer it, with inferior accuracy. It should be noted that the Snyk CLI has the ability to output machine-readable JSON output (with the --json flag to snyk test).
A third option, is to allow Snyk access to your development flow via the existing Snyk integrations. The advantage to this approach is having Snyk monitor every new pull request, and suggest fixes by opening new pull requests. This can be achieved either by integrating Snyk directly to your source code management (SCM) tool, or via a broker to allow greater security and auditability.
If those are not viable options, this API is your best choice.
API url
The base URL for all API endpoints is https://snyk.io/api/v1/
Authorization
To use this API, you must get your token from Snyk. It can be seen on https://snyk.io/account/ after you register with Snyk and login.
The token should be supplied in an Authorization header with the token, preceded by token:

API Endpoints

readme.io
Create beautiful product and API documentation with our developer friendly platform.
Download OpenAPI specification: openapi.yml
Introduction
Rudder exposes a REST API, enabling the user to interact with Rudder without using the webapp, for example in scripts or cronjobs.
Versioning
Each time the API is extended with new features (new functions, new parameters, new responses, ...), it will be assigned a new version number. This will allow you
to keep your existing scripts (based on previous behavior). Versions will always be integers (no 2.1 or 3.3, just 2, 3, 4, ...) or latest.
You can change the version of the API used by setting it either within the url or in a header:
the URL: each URL is prefixed by its version id, like /api/version/function.
Version 10
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/10/rules
Latest
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules
Wrong (not an integer) => 404 not found
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/3.14/rules
the HTTP headers. You can add the X-API-Version header to your request. The value needs to be an integer or latest.
Version 10
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 10" https://rudder.example.com/rudder/api/rules
Wrong => Error response indicating which versions are available
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 3.14" https://rudder.example.com/rudder/api/rules
In the future, we may declare some versions as deprecated, in order to remove them in a later version of Rudder, but we will never remove any versions without warning, or without a safe
period of time to allow migration from previous versions.
Existing versions
Version
Rudder versions it appeared in
Description
1
Never released (for internal use only)
Experimental version
2 to 10 (deprecated)
4.3 and before
These versions provided the core set of API features for rules, directives, nodes global parameters, change requests and compliance, rudder settings and system API
11
5.0
New system API (replacing old localhost v1 api): status, maintenance operations and server behavior
12
6.0 and 6.1
Node key management
13
6.2
Node status endpoint
System health check
System maintenance job to purge software [that endpoint was back-ported in 6.1]
Response format
All responses from the API are in the JSON format.
{
"action": The name of the called function,
"id": The ID of the element you want, if relevant,
"result": The result of your action: success or error,
"data": Only present if this is a success and depends on the function, it's usually a JSON object,
"errorDetails": Only present if this is an error, it contains the error message
}
Success responses are sent with the 200 HTTP (Success) code
Error responses are sent with a HTTP error code (mostly 5xx...)
HTTP method
Rudder's REST API is based on the usage of HTTP methods. We use them to indicate what action will be done by the request. Currently, we use four of them:
GET: search or retrieve information (get rule details, get a group, ...)
PUT: add new objects (create a directive, clone a Rule, ...)
DELETE: remove objects (delete a node, delete a parameter, ...)
POST: update existing objects (update a directive, reload a group, ...)
Parameters
General parameters
Some parameters are available for almost all API functions. They will be described in this section.
They must be part of the query and can't be submitted in a JSON form.
Available for all requests
Field
Type
Description
prettify
boolean optional
Determine if the answer should be prettified (human friendly) or not. We recommend using this for debugging purposes, but not for general script usage as this does add some unnecessary load on the server side.
Default value: false
Available for modification requests (PUT/POST/DELETE)
Field
Type
Description
reason
string optional or required
Set a message to explain the change. If you set the reason messages to be mandatory in the web interface, failing to supply this value will lead to an error.
Default value:""
changeRequestName
string optional
Set the change request name, is used only if workflows are enabled. The default value depends on the function called
Default value: A default string for each function
changeRequestDescription
string optional
Set the change request description, is used only if workflows are enabled.
Default value:""
Passing parameters
Parameters to the API can be sent:
As part of the URL for resource identification
As data for POST/PUT requests
Directly in JSON format
As request arguments
As part of the URL for resource identification
Parameters in URLs are used to indicate which resource you want to interact with. The function will not work if this resource is missing.
Get the Rule of ID "id"
curl -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules/id
Sending data for POST/PUT requests
Directly in JSON format
JSON format is the preferred way to interact with Rudder API for creating or updating resources.
You'll also have to set the Content-Type header to application/json (without it the JSON content would be ignored).
In a curl POST request, that header can be provided with the -H parameter:
curl -X POST -H "Content-Type: application/json" ...
The supplied file must contain a valid JSON: strings need quotes, booleans and integers don't, etc.
The (human readable) format is:
Here is an example with inlined data:
Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json"
https://rudder.example.com/rudder/api/rules/latest/{id}
-d '{ "displayName": "new name", "enabled": false, "directives": "directiveId"}'
You can also pass a supply the JSON in a file:
Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" https://rudder.example.com/rudder/api/rules/latest/{id} -d @jsonParam
Note that the general parameters view in the previous chapter cannot be passed in a JSON, and you will need to pass them a URL parameters if you want them to be taken into account (you can't mix JSON and request parameters):
Update the Rule 'id' with a new name, disabled, and setting it one directive with reason message "Reason used"
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" "https://rudder.example.com/rudder/api/rules/latest/{id}?reason=Reason used" -d @jsonParam -d "reason=Reason ignored"
Request parameters
In some cases, when you have little, simple data to update, JSON can feel bloated. In such cases, you can use
request parameters. You will need to pass one parameter for each data you want to change.
Parameters follow the following schema:
key=value
You can pass parameters by two means:
As query parameters: At the end of your url, put a ? then your first parameter and then a & before next parameters
Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/rules/latest/{id}?"displayName=my new name"&"enabled=false"&"directives=aDirectiveId"
As request data: You can pass those parameters in the request data, they won't figure in the URL, making it lighter to read, You can pass a file that contains data.
Update the Rule 'id' with a new name, disabled, and setting it one directive (in file directive-info.json)
curl -X POST -H "X-API-Token: yourToken"
https://rudder.example.com/rudder/api/rules/latest/{id} -d "displayName=my new name" -d "enabled=false" -d @directive-info.json