Ponto de extremidade secreto
Um segredo é um recurso que existe apenas nas propriedades do encaminhamento de eventos (propriedades com um atributo platform
definido como edge
). Eles permitem que o encaminhamento de eventos seja autenticado em outro sistema para troca segura de dados.
Este guia mostra como fazer chamadas para o ponto de extremidade /secrets
na API do Reator. Para obter uma explicação detalhada dos diferentes tipos secretos e como usá-los, consulte a visão geral de alto nível em segredos antes de retornar a este guia.
Introdução
O endpoint usado neste manual faz parte da API do Reactor. Antes de continuar, consulte o Guia de introdução para obter informações importantes sobre como realizar a autenticação na API.
Recuperar uma lista de segredos de uma propriedade list-property
Você pode listar os segredos que pertencem a uma propriedade fazendo uma solicitação GET.
Formato da API
GET /properties/{PROPERTY_ID}/secrets
{PROPERTY_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/properties/PRe005d921bb724bc88c3ff28e3e916f04/secrets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna uma lista de segredos pertencentes à propriedade.
{
"data": [
{
"id": "SE8bd20bd5d16b49ee9d925929e292526c",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:29.777Z",
"updated_at": "2021-07-16T22:29:29.777Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/property"
},
"data": {
"id": "PRe005d921bb724bc88c3ff28e3e916f04",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/environment"
},
"data": {
"id": "EN80ad9efbf4ff4f15bebd770613378a75",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c",
"property": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/property"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recuperar uma lista de segredos de um ambiente list-environment
Você pode listar os segredos que pertencem a um ambiente fazendo uma solicitação GET.
Formato da API
GET /environments/{ENVIRONMENT_ID}/secrets
{ENVIRONMENT_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/environments/EN0a1b00749daf4ff48a34d2ec37286aa7/secrets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna uma lista de segredos pertencentes ao ambiente.
{
"data": [
{
"id": "SE57b5ea69acde4595825b85befd1675b3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:35.447Z",
"updated_at": "2021-07-16T22:29:35.447Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/property"
},
"data": {
"id": "PRb302ca3557334c13b130da719222ec97",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/environment"
},
"data": {
"id": "EN0a1b00749daf4ff48a34d2ec37286aa7",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3",
"property": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/property"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Pesquisar um segredo lookup
Você pode pesquisar um segredo incluindo a respectiva ID no caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}
{SECRET_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo.
{
"data": {
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:41.135Z",
"updated_at": "2021-07-16T22:29:41.135Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
},
"data": {
"id": "PR19717d5acf114209a5aebd0f2b228438",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/environment"
},
"data": {
"id": "EN04d820606cc74d5eaf51616e8b50201a",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3",
"property": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
}
}
}
Criar um segredo create
Você pode criar um segredo fazendo uma solicitação POST.
succeeded
ou failed
, dependendo da saída.Formato da API
POST /properties/{PROPERTY_ID}/secrets
{PROPERTY_ID}
Solicitação
curl -X POST \
https://reactor.adobe.io/properties/PR9eff664dc6014217b76939bb78b83976/secrets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"name": "Example Secret",
"type_of": "simple-http",
"credentials": {
"username": "example_username",
"password": "pass12345"
}
},
"relationships": {
"environment": {
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
}
}
},
"type": "secrets"
}
}'
name
type_of
O tipo de credencial de autenticação que o segredo representa. Tem três valores aceitos:
token
: Uma cadeia de caracteres de token.simple-http
: um nome de usuário e senha.oauth2
: credenciais em conformidade com o padrão OAuth.
credentials
type_of
, propriedades diferentes devem ser fornecidas. Consulte a seção sobre credenciais no guia de segredos para obter detalhes sobre os requisitos de cada tipo.relationships.environment
data
nessa propriedade deve conter o id
do ambiente ao qual o segredo está sendo atribuído, juntamente com um valor type
de environments
.type
secrets
.Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo. Observe que, dependendo do tipo de segredo, algumas propriedades em credentials
podem estar ocultas.
{
"data": {
"id": "SE39fdf431f8ad4600bbc24ea73fcb1154",
"type": "secrets",
"attributes": {
"created_at": "2021-07-14T19:33:25.628Z",
"updated_at": "2021-07-14T19:33:25.628Z",
"name": "Example Secret",
"type_of": "simple-http",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
"username": "example_username"
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154",
"property": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
}
}
}
Testar um segredo de oauth2
test
type_of
de oauth2
.Você pode testar um segredo oauth2
incluindo a respectiva ID no caminho de uma solicitação PATCH. A operação de teste executa uma troca e inclui a resposta do serviço de autorização no atributo test_exchange
no objeto meta
do segredo. Essa operação não atualiza o segredo em si.
Formato da API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}
oauth2
que você deseja testar.Solicitação
curl -X PATCH \
https://reactor.adobe.io/secrets/SE6c15a7a64f9041b5985558ed3e19a449 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "oauth2"
},
"meta": {
"action": "test"
},
"id": "SE6c15a7a64f9041b5985558ed3e19a449",
"type": "secrets"
}
}'
attributes
type_of
com valor oauth2
.meta
action
com valor test
.id
type
secrets
.Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo, com a resposta do serviço de autorização contida em meta.test_exchange
.
{
"data": {
"id": "SE6c15a7a64f9041b5985558ed3e19a449",
"type": "secrets",
"attributes": {
"activated_at": null,
"created_at": "2021-07-14T19:33:25.628Z",
"credentials": {
"token_url": "https://token_url.test/token/authorize?required_param=value",
"client_id": "test_client_id",
"client_secret": "test_client_secret",
"refresh_offset": 14400,
},
"expires_at": null,
"name": "Example Secret",
"refresh_at": null,
"status": "pending",
"type_of": "oauth2",
"updated_at": "2021-07-14T19:33:25.628Z",
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154",
"property": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"meta": {
"test_exchange": {
"access_token": "FpIkBn3zxW0fH6EBC4MB",
"expires_in": 36000,
"token_type": "Bearer",
}
}
}
}
Tentar novamente um segredo retry
Tentar novamente um segredo é a ação de acionar manualmente a troca de segredos. Você pode tentar novamente um segredo incluindo a respectiva ID no caminho de uma solicitação PATCH.
Formato da API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}
Solicitação
curl -X PATCH \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "token"
},
"meta": {
"action": "retry"
},
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets"
}
}'
attributes
type_of
correspondente à do segredo que está sendo atualizado (token
, simple-http
ou oauth2
).meta
action
com valor retry
.id
type
secrets
.Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo, com seu status redefinido como pending
. Depois que a troca for concluída, o status do segredo será atualizado para succeeded
ou failed
, dependendo do resultado.
{
"data": {
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:41.135Z",
"updated_at": "2021-07-16T22:29:41.135Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
},
"data": {
"id": "PR19717d5acf114209a5aebd0f2b228438",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/environment"
},
"data": {
"id": "EN04d820606cc74d5eaf51616e8b50201a",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3",
"property": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
}
}
}
Reautorizar um segredo de oauth2-google
reauthorize
Cada segredo oauth2-google
contém uma propriedade meta.authorization_url_expires_at
que indica quando a URL de autorização irá expirar. Após esse período, o segredo deverá ser reautorizado para que possa renovar o processo de autenticação.
Para reautorizar um segredo oauth2-google
, faça uma solicitação PATCH para o segredo em questão.
Formato da API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}
id
do segredo que você deseja reautorizar.Solicitação
O objeto data
na carga da solicitação deve conter uma propriedade meta.action
definida como reauthorize
.
curl -X PATCH \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "oauth2-google"
},
"meta": {
"action": "reauthorize"
},
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets"
}
}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo atualizado. Aqui, você deve copiar e colar o meta.authorization_url
em um navegador para concluir o processo de autorização.
{
"data": {
"id": "SE5fdfa4c0a2d8404e8b1bc38827cc41c9",
"type": "secrets",
"attributes": {
"created_at": "2021-07-15T19:00:25.628Z",
"updated_at": "2021-07-15T19:00:25.628Z",
"name": "Example Secret",
"type_of": "oauth2-google",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
"scopes": [
"https://www.googleapis.com/auth/adwords",
"https://www.googleapis.com/auth/pubsub"
],
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9",
"property": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/property"
},
"meta": {
"authorization_url": "https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=434635668552-0qvlu519fdjtnkvk8hu8c8dj8rg3723r.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Freactor.adobe.io%2Foauth2%2Fcallback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadwords&state=state",
"authorization_url_expires_at": "2021-07-15T20:00:25.628Z"
}
}
}
Excluir um segredo delete
Você pode excluir um segredo incluindo a respectiva ID no caminho de uma solicitação DELETE. Essa é uma exclusão permanente com efeito imediato e não requer uma republicação da biblioteca.
Esta operação remove o segredo do ambiente ao qual está relacionada e o recurso subjacente é excluído.
Formato da API
DELETE /secrets/{SECRET_ID}
{SECRET_ID}
Solicitação
curl -X DELETE \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo) e um corpo de resposta vazio, indicando que o segredo foi excluído do sistema.
Listar as anotações de um segredo notes
A API do Reator permite adicionar observações a determinados recursos, incluindo segredos. As notas são anotações textuais que não têm impacto no comportamento dos recursos e podem ser usadas para vários casos de uso.
Você pode recuperar todas as notas relacionadas a um segredo fazendo uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/notes
{SECRET_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1/notes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna uma lista de notas pertencentes ao segredo.
{
"data": [
{
"id": "NTe666dbcc2f204218b6fde2fe60ab7043",
"type": "notes",
"attributes": {
"author_display_name": "John Doe",
"author_email": "jdoe@example.com",
"created_at": "2021-07-16T22:29:58.259Z",
"text": "This is a secret note."
},
"relationships": {
"resource": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1"
},
"data": {
"id": "SE591d3b86910f4e6883f0e1c36e54bff1",
"type": "secrets"
}
}
},
"links": {
"resource": "https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1",
"self": "https://reactor.adobe.io/notes/NTe666dbcc2f204218b6fde2fe60ab7043"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recuperar recursos relacionados de um segredo related
As chamadas a seguir demonstram como recuperar os recursos relacionados de um segredo. Quando procurar um segredo, essas relações são listadas na propriedade relationships
.
Consulte o manual de relacionamentos para obter mais informações sobre relacionamentos na API do Reactor.
Pesquisar um segredo no ambiente relacionado environment
Você pode pesquisar o ambiente que usa um segredo anexando /environment
ao caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/environment
{SECRET_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/environment \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna os detalhes do ambiente.
{
"data": {
"id": "EN33e8d63ac647448da1f77ced5c3c8580",
"type": "environments",
"attributes": {
"archive": false,
"created_at": "2021-07-16T22:19:13.438Z",
"library_path": "bc12f2b85d11/b9a3067414ff",
"library_name": "launch-3b6c4eea15ae-development.min.js",
"library_entry_points": [
{
"library_name": "launch-3b6c4eea15ae-development.min.js",
"minified": true,
"references": [
"bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.min.js"
],
"license_path": "bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.js"
},
{
"library_name": "launch-3b6c4eea15ae-development.js",
"minified": false,
"references": [
"bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.js"
]
}
],
"name": "Development Environment A",
"path": null,
"stage": "development",
"updated_at": "2021-07-16T22:19:13.438Z",
"status": "succeeded",
"token": "3b6c4eea15ae"
},
"relationships": {
"library": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/library"
},
"data": null
},
"builds": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/builds"
}
},
"host": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/host",
"self": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/relationships/host"
},
"data": {
"id": "HT7d5cf665463e46a1968ada1ceb1b5ca7",
"type": "hosts"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/property"
},
"data": {
"id": "PRba81d3027db846b084212391aa5d2f1f",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRba81d3027db846b084212391aa5d2f1f",
"self": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580"
},
"meta": {
"archive_encrypted": false
}
}
}
Pesquisar um segredo na propriedade relacionada property
Você pode pesquisar a propriedade que possui um segredo anexando /property
ao caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/property
{SECRET_ID}
Solicitação
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json'
Resposta
Uma resposta bem-sucedida retorna os detalhes da propriedade.
{
"data": {
"id": "PR2d191feafef54c5da4ddb5ef647d4867",
"type": "properties",
"attributes": {
"created_at": "2021-07-16T22:26:25.320Z",
"enabled": true,
"name": "Kessel Edge Example Property",
"updated_at": "2021-07-16T22:26:25.320Z",
"platform": "edge",
"development": false,
"token": "8efbe7023155"
},
"relationships": {
"company": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/company"
},
"data": {
"id": "COc26fb19f87d24cbe827a70ad2a672093",
"type": "companies"
}
},
"callbacks": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/callbacks"
}
},
"hosts": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/hosts"
}
},
"environments": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/environments"
}
},
"libraries": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/libraries"
}
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/rules"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/notes"
}
}
},
"links": {
"company": "https://reactor.adobe.io/companies/COc26fb19f87d24cbe827a70ad2a672093",
"data_elements": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/data_elements",
"environments": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/environments",
"extensions": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/extensions",
"rules": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/rules",
"self": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867"
},
"meta": {
"rights": [
"approve",
"develop",
"edit_property",
"manage_environments",
"manage_extensions",
"publish"
]
}
}
}