Skip to content

Commit

Permalink
Merge branch 'main' into openshift-connectors-routes
Browse files Browse the repository at this point in the history
  • Loading branch information
conceptualshark committed Sep 19, 2024
2 parents 55d3217 + d4ba66c commit 407b1ed
Show file tree
Hide file tree
Showing 275 changed files with 8,336 additions and 1,920 deletions.
3,338 changes: 2,659 additions & 679 deletions api/camunda/camunda-openapi.yaml

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions docs/apis-tools/administration-api/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 2
description: "Learn about access tokens and client credentials and scopes to get started with the Administration API."
---

All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and pass it in each request.
All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request.

## Generating a token

Expand Down Expand Up @@ -47,16 +47,16 @@ All Administration API requests require authentication. To authenticate, generat

## Using a token

Include the captured token as an authorization header in each request: `Authorization: Bearer <TOKEN>`.
Include the previously captured token as an authorization header in each request: `Authorization: Bearer <TOKEN>`.

For example, to call the Administration API's `/members` endpoint, send the following request:
For example, to send a request to the Administration API's `/members` endpoint:
```shell
curl --header "Authorization: Bearer ${TOKEN}" \
https://api.cloud.camunda.io/members
```
A successful response would include [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example:
A successful response includes [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example:
```json
[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,61 @@ sidebar_position: 2
description: "The Administration API for Self-Managed is a REST API and provides access to Console Self-Managed data. Requests and responses are in JSON notation."
---

To authenticate for the API, generate a JWT token and pass it in each request:
All Administration Self-Managed API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request.

## Generating a token

1. [Add an M2M application in Identity](/self-managed/identity/user-guide/additional-features/incorporate-applications.md).
2. [Add permissions to this application](/self-managed/identity/user-guide/additional-features/incorporate-applications.md) for **Administration Self-Managed API**.
3. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. You will need the `client_id` and `client_secret` from the Identity application you created.
3. Capture the `Client ID` and `Client Secret` from the application in Identity.
4. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity.
```shell
curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=<client id>' \
--data-urlencode 'client_secret=<client_secret>' \
--data-urlencode "client_id=${CLIENT_ID}" \
--data-urlencode "client_secret=${CLIENT_SECRET}" \
--data-urlencode 'grant_type=client_credentials'
```
4. You will get something like the following:
5. A successful authentication response looks like the following:
```json
{
"access_token": "eyJhbG...",
"access_token": "<TOKEN>",
"expires_in": 300,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0
}
```
6. Capture the value of the `access_token` property and store it as your token.

## Example usage
## Using a token

1. Take the **access_token** value from the response object and store it as your token.
2. Send the token as an authorization header in each request.
Include the previously captured token as an authorization header in each request: `Authorization: Bearer <TOKEN>`.

```shell
curl -o - 'http://localhost:8080/admin-api/clusters' -H 'Authorization: Bearer eyJhb...'
```
For example, to send a request to the ["Get current clusters" endpoint](./specifications/get-clusters.api.mdx):

:::tip
The `${CAMUNDA_BASE_URL}` variable below represents the URL of the Self-Managed environment. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8080`.
:::

```shell
curl --request GET ${CAMUNDA_BASE_URL}/admin-api/clusters \
--header "Authorization: Bearer ${TOKEN}"
```

A successful response includes [cluster information](./specifications/get-clusters.api.mdx). For example:

```json
[
{
"uuid": "12345",
"name": "cluster-1",
"status": "healthy",
...
}
]
```

## Token expiration

Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: "Step through authentication options that can be used to access Cam
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

All Camunda 8 REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and pass it in each request.
All Camunda 8 REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and include it in each request.

## Generating a token

Expand Down Expand Up @@ -88,9 +88,9 @@ All Camunda 8 REST API requests require authentication. To authenticate, generat

## Using a token

Include the captured token as an authorization header in each request: `Authorization: Bearer <TOKEN>`.
Include the previously captured token as an authorization header in each request: `Authorization: Bearer <TOKEN>`.

For example, to call the Camunda 8 REST API's `/topology` endpoint, send the following request against the target environment:
For example, to send a request to the Camunda 8 REST API's `/topology` endpoint:
<Tabs groupId="environment" defaultValue="saas" queryString values={
[
Expand Down Expand Up @@ -121,7 +121,7 @@ curl --header "Authorization: Bearer ${TOKEN}" \
${ZEEBE_REST_ADDRESS}/v2/topology
```
A successful response would include [information about the cluster](/apis-tools/camunda-api-rest/specifications/get-cluster-topology.api.mdx). For example:
A successful response includes [information about the cluster](/apis-tools/camunda-api-rest/specifications/get-cluster-topology.api.mdx). For example:
```json
{
Expand Down
7 changes: 4 additions & 3 deletions docs/apis-tools/camunda-api-rest/camunda-api-rest-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@ See [the interactive Camunda 8 REST API Explorer][camunda-api-explorer] for spec
### Query API

:::warning
Query API endpoints do not currently support [resource authorizations][resource authorizations], and can be used to expand user access to restricted resources. If you use resource permissions, allowing public access to those endpoints is not recommended.
Query API endpoints do not currently support [resource authorizations][], and can be used to expand user access to restricted resources. If you use resource permissions, allowing public access to those endpoints is not recommended.
:::

All Query API endpoints contain an `(experimental)` declaration. Those endpoints are not accessible by default in Camunda 8 clusters.
All Query API endpoints contain an `(alpha)` declaration. Those endpoints are not accessible by default in Camunda 8 clusters.

You can enable the experimental search endpoints by setting either the configuration property `camunda.rest.query.enabled` to `true`,
You can enable the [alpha feature][] search endpoints by setting either the configuration property `camunda.rest.query.enabled` to `true`,
or the environment variable `CAMUNDA_REST_QUERY_ENABLED` to `true`.

[camunda-api-explorer]: ./specifications/camunda-8-rest-api.info.mdx
[resource authorizations]: /self-managed/concepts/access-control/resource-authorizations.md
[alpha feature]: /reference/alpha-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: "Iterate through all known partitions and activate jobs up to the r
sidebar_label: "Activate jobs"
hide_title: true
hide_table_of_contents: true
api: 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
api: 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
sidebar_class_name: "post api-method"
info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api
custom_edit_url: null
Expand Down Expand Up @@ -45,7 +45,7 @@ a set of custom headers defined during modelling; returned as a serialized JSON

All variables visible to the task scope, computed at activation time

</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"description":"All variables visible to the task scope, computed at activation time","type":"object","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"tenantId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"description":"the id of the tenant that owns the job","type":"string"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n \"jobs\": [\n {\n \"key\": 0,\n \"type\": \"string\",\n \"processInstanceKey\": 0,\n \"bpmnProcessId\": \"string\",\n \"processDefinitionVersion\": 0,\n \"processDefinitionKey\": 0,\n \"elementId\": \"string\",\n \"elementInstanceKey\": 0,\n \"customHeaders\": {},\n \"worker\": \"string\",\n \"retries\": 0,\n \"deadline\": 0,\n \"variables\": {},\n \"tenantId\": \"string\"\n }\n ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>
</div><SchemaItem name={"property name*"} required={false} schemaName={"any"} qualifierMessage={undefined} schema={{"description":"All variables visible to the task scope, computed at activation time","type":"object","additionalProperties":true}} collapsible={false} discriminator={false}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"tenantId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"description":"The ID of the tenant that owns the job","type":"string"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n \"jobs\": [\n {\n \"key\": 0,\n \"type\": \"string\",\n \"processInstanceKey\": 0,\n \"bpmnProcessId\": \"string\",\n \"processDefinitionVersion\": 0,\n \"processDefinitionKey\": 0,\n \"elementId\": \"string\",\n \"elementInstanceKey\": 0,\n \"customHeaders\": {},\n \"worker\": \"string\",\n \"retries\": 0,\n \"deadline\": 0,\n \"variables\": {},\n \"tenantId\": \"string\"\n }\n ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The provided data is not valid.

Expand Down
Loading

0 comments on commit 407b1ed

Please sign in to comment.