Introduction

This is the NetFoundry Auth service

Overview

HTTP verbs

NetFoundry adheres closely to standard HTTP and REST conventions in its use of HTTP verbs.

Verb Usage

GET

Used to retrieve a resource

POST

Used to create a new resource

PUT

Used to update an existing resource, full updates only

DELETE

Used to delete an existing resource

The PATCH method is not used (yet).

HTTP status codes

NetFoundry adheres closely to standard HTTP and REST conventions in its use of HTTP status codes.

Status code Usage

200 OK

The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.

201 Created

The request has been fulfilled and resulted in a new resource being created.

202 Accepted

The request has been accepted and is being processed asynchronously Standard response for successful HTTP requests which invoke back-end services.

204 No Content

The server successfully processed the request, but is not returning any content.

400 Bad Request

The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

401 Unauthorized

The request lacks valid authentication credentials for the target resource.

403 Forbidden

The request is authenticated with valid credentials however that set of credentials is not authorized to access this resource.

404 Not Found

The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.

Pagination

Paginated services will accept the following optional request parameters:

Table 1. Request parameters
Path Type Optional Description

page

Integer

true

Page you want to retrieve, 0 indexed and defaults to 0.

size

Integer

true

Size of the page you want to retrieve, defaults to 1000.

sort

String

true

Properties that should be sorted by in the format property,property(,ASC|DESC). Default sort direction is ascending. Use multiple sort parameters if you want to switch directions, e.g. ?sort=firstname&sort=lastname,asc.

Pagination response has following structure:

Table 2. Response structure
Path Type Optional Description

content

Array[Object]

false

Actual items.

totalElements

Integer

false

Total count.

totalPages

Integer

false

Total pages with current page size.

last

Boolean

false

If this page is the last one.

numberOfElements

Integer

false

Actual size of content array (number of items).

first

Boolean

false

If this page is the first one.

sort

Object

true

Sort information object.

size

Integer

false

Requested size of the page.

number

Integer

false

Page number.

empty

booloean

false

If this page is empty.

Authorization

Masquerade

POST /masquerade

Exchange a NetFoundry token with a service identity for a NetFoundry token with a user identity.

Authorization

Authorization not required for this request.

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

identityId

String

true

Must not be null.

audience

String

true

Must not be empty.
Must not be null.

claims

Map

true

Must not be null.

Response fields

Path Type Optional Description

token

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/masquerade' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJkRlc4eFA0U0Y1YVpUeHRQTjkzOU13IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImQ0NzljMTllLTUzMWMtNGNmMy04OTJmLThiNmY5NGQ3MWI0MCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbe1wiaWRcIjpcIjQ4MjFjYWRkLTBlZWItNDE3Mi05ZmM1LWJiOTNlZDI0MGUzNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMn1dIiwiZ3JhbnRzLWN1c3RvbSI6IltdIiwiZ3JhbnRzLXB1YmxpYyI6Ilt7XCJpZFwiOlwiMDI3ZWYzZjYtNWQzMi00NzczLTk1MDAtODExZDZhODc1MzE2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfSx7XCJpZFwiOlwiMGJjZjVmMzMtNDJhYy00NDE3LWE4ZWQtYzg3YjNjYzZlMDJmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiNzIzNjZmOWYtNzA4Yy00ZDE5LTlmNjQtOWU4YmFiMDc3N2JlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzg1fSx7XCJpZFwiOlwiN2ViZjBhMTktYWY2My00MzM2LTliY2ItMWUyYTBjOTk3NzAxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiODgxMWZkYWYtNzBhMC00YWNjLWJlMmYtMjMwY2IwMWU4MWE2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcyfSx7XCJpZFwiOlwiMDU0N2MxYmYtMTg0My00M2FlLWI1NmQtNTUyYTJmOTlhZmQ0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiY2VkOGRmZTEtYjI2Yi00YjM4LTk0YjYtZThiYmViM2Y0NGNiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcxfSx7XCJpZFwiOlwiNTE0YWUwOTgtZGJkMy00MDk3LWI5ODMtOWU0YzQyNWJkMDY0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiZThkZTM4YWUtYmQyNC00MjQ0LWE4ZDUtOTc5NzczYWQ1YzVhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiMTlkOTBhZjYtN2IyNC00NTc5LTlkOTItZjk0N2NjMDI5ZjdhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fSx7XCJpZFwiOlwiYjVlMTFmYzgtZWE4YS00M2JhLWFhY2QtYTlmN2UwNjQ4MzI1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiY2Q4MDZiNzctZTMwNC00MWIzLWFkNmMtODM4Yzg5YTI2ZDhjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fV0iLCJncmFudHMtYWN0aW9uIjoiW10iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.bAs8KMWEnKMWKB9Pmui7Tu9TjUhhxGmsSRp_XpiyO9FQAHM8D6QaLGxL1Y7YwK6Zv6sBADGIY_yv6OAw8Z7Sfu95XZHiGCQsWeU4whrC-hviLI6r7MQJDBdZEpEorJBmEUpRbRimPJKxhj-_xvVE9uYG4o6KJc7O3E3XAD7iaUUivGu7dIZd118GNz_BeDb73j4H1Vdpf7vnEQsulR7GZaCHrWrWMy6OFNJp2RplZcnxpDfhqcPoio-4JK-h1QxksIp_wu52JQF4Vqvte5AS8sKHyYccY74qmvKjWvBhhzf2StG7fzCTwQ9nTfILkj8amfl7BB5Bj88qiWq5A376LQ' \
    -d '{"identityId":"0079fedb-83de-4f60-af67-73d0cb06b1bc","audience":"io.netfoundry.test","claims":{}}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2262

{
  "token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJEUUVJMWFpVEpnTFFnU0tFbkg1bjRnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjAwNzlmZWRiLTgzZGUtNGY2MC1hZjY3LTczZDBjYjA2YjFiYyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkudGVzdCIsImlhdCI6MTcxMjMyMDQwMywiZXhwIjoxNzEyMzIwNzAzLCJncmFudHMtc3VwZXIiOiJbe1wiaWRcIjpcIjdmMTQ2ZmM2LWYxMTYtNGE3Yi1hNDQ1LWE2ZDYwODVlZWZjYVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcImUxMDE3NWFhLTFmM2ItNGZlMi1hMzg0LTM4Y2M3YWM4MzUxMlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMn1dIiwiZ3JhbnRzLWN1c3RvbSI6IltdIiwiZ3JhbnRzLXB1YmxpYyI6Ilt7XCJpZFwiOlwiMDI3ZWYzZjYtNWQzMi00NzczLTk1MDAtODExZDZhODc1MzE2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfSx7XCJpZFwiOlwiMGJjZjVmMzMtNDJhYy00NDE3LWE4ZWQtYzg3YjNjYzZlMDJmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiNzIzNjZmOWYtNzA4Yy00ZDE5LTlmNjQtOWU4YmFiMDc3N2JlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzg1fSx7XCJpZFwiOlwiN2ViZjBhMTktYWY2My00MzM2LTliY2ItMWUyYTBjOTk3NzAxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiODgxMWZkYWYtNzBhMC00YWNjLWJlMmYtMjMwY2IwMWU4MWE2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcyfSx7XCJpZFwiOlwiMDU0N2MxYmYtMTg0My00M2FlLWI1NmQtNTUyYTJmOTlhZmQ0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiY2VkOGRmZTEtYjI2Yi00YjM4LTk0YjYtZThiYmViM2Y0NGNiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcxfSx7XCJpZFwiOlwiNTE0YWUwOTgtZGJkMy00MDk3LWI5ODMtOWU0YzQyNWJkMDY0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiZThkZTM4YWUtYmQyNC00MjQ0LWE4ZDUtOTc5NzczYWQ1YzVhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiMTlkOTBhZjYtN2IyNC00NTc5LTlkOTItZjk0N2NjMDI5ZjdhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fSx7XCJpZFwiOlwiYjVlMTFmYzgtZWE4YS00M2JhLWFhY2QtYTlmN2UwNjQ4MzI1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiY2Q4MDZiNzctZTMwNC00MWIzLWFkNmMtODM4Yzg5YTI2ZDhjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fV0iLCJncmFudHMtYWN0aW9uIjoiW10iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.C-BwbUxW2E4TEllRY_Ph65I_LqsZsqLrSNaIQqHh2bD-APNCjQ9sdo7YC1npXaIXLAFtmQ_uQWNIy-3W-6T9eqFKBaaKP3ANvnjxctoUPLZ0T40Rs_CP8JQMyfxrsh-lCZwfhrfXTha82ZXZs9vbmng_zK9caKu-0Gcg4qN178tc4YTwKxIIMtcPhGXWFkfrNe9iYClblgB2gxGcCzeSEuivF0-9A6A7_tLnM2hLM9ogTIX3afgnjq2XoV9DITNq-4pH8it2bzRttNnBbleO8x7n1f8cZvqcucbmrS4W2SNjn808KDD_1TAR20ozWBbdjVSF63VrQd4aURVwj6GKTA"
}

Core Authorization Resources

Domains

Find Domains

GET /domains

Returns a set of {@link Domain}s that the client is authorized to read.

Authorization

This endpoint requires read action on the domain resource type.

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].name

String

true

A human friendly name which can be used for UX purposes.

Must not be null.
Size must be between 1 and 256 inclusive.

[].code

String

true

A globally unique value that can be used by code to namespace other values which only have to be unique within a domain, such as a resource’s key. This value must be formatted as an inverse domain name. For example, "io.netfoundry.authorization" for the colloquial 'authorization' domain.

Must match the regular expression [0-9a-zA-Z.]+.
Must not be null.
Size must be between 1 and 128 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link Domain} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link Domain} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/domains' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJyYUF6TnpIM0JzazhWQUhkQmZ1V3NBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjBhYmM0MTFhLThmYzctNGRjYi1iYmU4LWI4NWMxMDBlYmQyYSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NSwiZXhwIjoxNzEyMzIzOTk1LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiOTI0YTU2Y2EtZGYzOC00MDM3LTg2YzUtOTk0ZDNkN2M4MzFjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk1fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.qhz6QoidRSo4HL_NvsQmJpH0Sa-rVt0sVHU3Zh_ILPuFvKGjPF0eymAoQAspmR2amx92hRsaCR94ZwYVtXmBlYfgbw0URY2A13CHDQ6JCXxUP0FQvtNTheOvaZy92CcibfmyBJKBU9TBXOs6pzp486Pw2nrL0REVaoGnkkIH07ICDUAEZmCdjUcwU1ckJ_jKzOGJ03w4LAdiciq17ryoHz5okkhl-Lg7jyG3e_TvxBhbINY6-MG3r7_zFFpOwTcxVV5yUdm7rA4aqpYuN8-7XLpsuX_rSyxoci7A9bxmJwhLrH0AcGuZwIpxGCRrgUs_0GizPOEwXlLKQB53cHXNlw'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 913

[ {
  "id" : "af179d41-8e18-4d1f-8b75-c0d8d0c99c62",
  "name" : "Test Domain 6",
  "code" : "test.domain.6",
  "createdBy" : "383af2fc-8f05-4c7f-a549-79222e93d978",
  "createdAt" : "2024-04-05T12:33:13.911310Z",
  "updatedAt" : "2024-04-05T12:33:13.911310Z",
  "_title" : "Test Domain 6"
}, {
  "id" : "a5e9c7b1-3a74-49b6-aabf-c61a2b628a46",
  "name" : "Management",
  "code" : "io.netfoundry.management",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:52.778268Z",
  "updatedAt" : "2024-04-05T12:32:52.778268Z",
  "_title" : "Management"
}, {
  "id" : "c7b3fc07-d0a3-485c-81da-9ab012985df5",
  "name" : "Organizations and Identities",
  "code" : "io.netfoundry.identity",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:48.727010Z",
  "updatedAt" : "2024-04-05T12:32:48.727010Z",
  "_title" : "Organizations and Identities"
} ]

Get Domain

GET /domains/{idOrCode}

Authorization

This endpoint requires read action on the domain resource type.

Path parameters

Parameter Type Optional Description

idOrCode

String

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

name

String

true

A human friendly name which can be used for UX purposes.

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

A globally unique value that can be used by code to namespace other values which only have to be unique within a domain, such as a resource’s key. This value must be formatted as an inverse domain name. For example, "io.netfoundry.authorization" for the colloquial 'authorization' domain.

Must match the regular expression [0-9a-zA-Z.]+.
Must not be null.
Size must be between 1 and 128 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link Domain} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link Domain} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/domains/dce616da-a2be-44d7-b844-e3b164c5a26b' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJqU01vQ2wzRkloZWVsVzFndkJPZWFRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjczZTAzNTU0LWNhMzItNGNmMi04Mzg2LTcwNDY1MDgzMzkyOCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NSwiZXhwIjoxNzEyMzIzOTk1LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiOWE1ZTAzNzItYTQyYi00N2U4LWE0OGEtNmFjODc5NTNiNzc3XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk1fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.pCXQE_qnE5UTC76fsCaV65kTqWV9ZY3H4UsQO6T0ZSarlT9IZHLycRx2EQ455nuce-o3XvOfxtRYrtUVtvsC5r_3Rd0szc-aSPwceBkVZaDPCvgPn5KrZUYsqI92ILQ6s0d53U708gurmeboDGEiq3SKeVGT186nJLMvjZkQopWnf00TJC1SCEhKqZHuLdRS7o-rdEDAZlak0err6B7_br6z888xQ3i7lfEGZvq95JaW5lkDCRYMRgA2LaD4-6deNa3_w_RogwbXFNmTdBfxLHfWf4G4Dnem2Rp8HrzgV4guhCMfiBZiJ2y_BbUovDeoCJB9uEt8qgQbCbk6UyWzjg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 288

{
  "id" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "name" : "Test Domain",
  "code" : "io.netfoundry.test",
  "createdBy" : "bf255c70-e51c-4855-8b74-b4bfe080c68f",
  "createdAt" : "2024-04-05T12:33:05.283379Z",
  "updatedAt" : "2024-04-05T12:33:05.283379Z",
  "_title" : "Test Domain"
}

Get Domain

GET /domains/{idOrCode}

Authorization

This endpoint requires read action on the domain resource type.

Path parameters

Parameter Type Optional Description

idOrCode

String

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

name

String

true

A human friendly name which can be used for UX purposes.

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

A globally unique value that can be used by code to namespace other values which only have to be unique within a domain, such as a resource’s key. This value must be formatted as an inverse domain name. For example, "io.netfoundry.authorization" for the colloquial 'authorization' domain.

Must match the regular expression [0-9a-zA-Z.]+.
Must not be null.
Size must be between 1 and 128 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link Domain} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link Domain} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/domains/io.netfoundry.test' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJOaGEtZDVsTklPRGdfVUo2WUk2Vld3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImQ3M2JkNjQ4LTgyZWEtNDQ1ZS1iODY5LTRkMTQ1ZDZlOWFhYSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NSwiZXhwIjoxNzEyMzIzOTk1LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiY2U3NjgyN2MtYjBkNi00ZDE2LWE0OGUtZDQwMTc4ZGVjYzNiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk1fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.nl81LsQ4vG072ZdKCEwuhpQKssCFRbXFLU-HPMe1fLcYtbFc4uXbgo4NZxKuYPt_fmNzdzH3kIB55LDsYul0zIXrld_ZTOlRgniUAW42oQYiFRYVFZVIQ-DJalLGb7OI9cLlumgeD3biReLJnTrZoluLULD8NBLOMb0pF7ucf6U63f431frzg4WtF0FZ37AEqyuTZ2eDNCFaR3LtI6EYO_uzuTRx76sdbSASmkZeEGgRfx2fneUkMWFIVDpgNiDHMbwLyoyUiz2d70OFMVk0nYFGuDcHSJC-ljIj9t9OPiqHLvePgWOw6EZu05pRSEHiXEvvDh37uibZoJb76QlAEg'

Example response

HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 288

{
  "id" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "name" : "Test Domain",
  "code" : "io.netfoundry.test",
  "createdBy" : "bf255c70-e51c-4855-8b74-b4bfe080c68f",
  "createdAt" : "2024-04-05T12:33:05.283379Z",
  "updatedAt" : "2024-04-05T12:33:05.283379Z",
  "_title" : "Test Domain"
}

Create Domain

POST /domains

Authorization

This endpoint requires create action on the domain resource type.

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

name

String

true

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

Must match the regular expression [0-9a-zA-Z.]+.
Must not be null.
Size must be between 1 and 128 inclusive.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

name

String

true

A human friendly name which can be used for UX purposes.

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

A globally unique value that can be used by code to namespace other values which only have to be unique within a domain, such as a resource’s key. This value must be formatted as an inverse domain name. For example, "io.netfoundry.authorization" for the colloquial 'authorization' domain.

Must match the regular expression [0-9a-zA-Z.]+.
Must not be null.
Size must be between 1 and 128 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link Domain} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link Domain} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/domains' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJnOWo3YTlxcGRzQ050MU4wYkF6cWFnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjFkMzQzYjcxLWVkYmUtNGQ2ZS1iZmQ1LTE1ODY0MGYzZjA1ZCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NSwiZXhwIjoxNzEyMzIzOTk1LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMDY2MmM5YzUtMDQ0Ny00YTNhLWJkZjUtMWUzMmFlMDRlMzJhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk1fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.JYciS7q9tLex3xN1yWK0U9J8gtbFllZh5HY0hnN2KHINDzYoFNJNtuhBGk_z0TGMRhBN-BvBKA-1hmngvGkFQiKdwqEev_-ng3pyG4lKwjrwJI1Rq4FXi5PRur58Gg7GAoEv_Ft3y1Bqqku8oQFR1BjhCh5jzf0Zg48NaUNw3VzGZnG0MKhC3Mwaby07t0YYOSX__l4hKI88PE6-Rz-0Pl6CzdxH0BvKSIC1iruoZlmrcebxqZi4r7YwjiVAkmeAfG2p-uWneX7S0MqVs_od7bAzeeRUkGqR8oI39abI_HYC0RAbbrGtLLgJqdNoLN2oOAkymoGUoL3A1edRhtZk5g' \
    -d '{"name":"Other Test Domain","code":"other.test.domain"}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 299

{
  "id" : "dffd9a34-3a1e-43ca-b423-2101116353d1",
  "name" : "Other Test Domain",
  "code" : "other.test.domain",
  "createdBy" : "1d343b71-edbe-4d6e-bfd5-158640f3f05d",
  "createdAt" : "2024-04-05T12:33:15.920790Z",
  "updatedAt" : "2024-04-05T12:33:15.920790Z",
  "_title" : "Other Test Domain"
}

Resource Types

Find Resource Types

GET /resource-types

Returns a set of {@link ResourceType}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceType}s.

Authorization

This endpoint requires read action on the resource-type resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

domainId

Object

true

Filters results to those that are in one of the specified ,{@link Domain},s.

code

Object

true

Filters results to those matching one of the specified codes.

parentId

Object

true

Filters results to those that are an immediate child of one of the specified ,{@link ResourceType},s.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].domainId

String

true

The id of the domain within which this {@link ResourceType} exists.

Must not be null.

[].name

String

true

The human friendly name of this {@link ResourceType}.

Must not be null.
Size must be between 1 and 256 inclusive.

[].code

String

true

A unique value (within the domain) that can be used by code as a reference to this resource type. These values should almost always be the simple type name of the resource class, such as "BillingAccount".

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link ResourceType} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link ResourceType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].parentId

String

true

Returns the id of the parent {@link ResourceType} or null if this is a root.

[].root

Boolean

true

[].depth

Integer

true

Returns the depth of this {@link ResourceType} within the tree, where a root {@link ResourceType} has a depth of 0.

[].childrenIds

Array[Object]

true

Returns the id of {@link ResourceType}s that are children of this.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-types' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJrQzhkb2M4X0VIbDBUNFJldTVKWkx3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjhhNWI4YTk4LWRjM2ItNGU5OS1hMzA1LThmYWQ0Mjk2NWFlYyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMywiZXhwIjoxNzEyMzI0MDAzLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNmQ5MzEyYTItMmRhOC00ZmVkLTkzNGYtZGM4NjU2NzQ3YjQ3XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAzfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.PVI_WThMhYxZLBdQ0uybNsjCSBpDnilt17gTpmf6UlHMWlQN7tRjGdItjUstadhTtkiCArFsvH2ihU2z_1nCJCCaFRDZSn9wwnpekK0wNQuWuFB8QazPgo-NddnMtDKcK5IcxuQcDUVOfqRTFomQ6PvvkafEQLFfXvjJC6yp8X-2E_NRJYZ7lD2W6mAki-LN328CbbwUKGOOJ6x3yptW_hAl-_c_lTTUWpjPf4iHlRDsRD7JbnTiwg0YXdSPgJ2NS9lHmbHAwrkC9BpMcp1gttMlDGKoWhrgt6cJifTts-gFovtOu33IuFhdBoPdKW0DNLPsmlKviGVpykNxUKOcfA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1323

[ {
  "id" : "e934c8e3-1e89-41dd-9110-5a9d15b1229c",
  "domainId" : "a5e9c7b1-3a74-49b6-aabf-c61a2b628a46",
  "name" : "Signup",
  "code" : "signup",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.006711Z",
  "updatedAt" : "2024-04-05T12:32:53.006711Z",
  "parentId" : null,
  "root" : true,
  "depth" : 0,
  "childrenIds" : [ ],
  "_title" : "Signup"
}, {
  "id" : "5b276a2d-eaf0-43c8-8aca-10c0ee3a984a",
  "domainId" : "e8f382e9-d04a-4d31-9b24-acd45c9797eb",
  "name" : "Config Type",
  "code" : "config-type",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:51.353123Z",
  "updatedAt" : "2024-04-05T12:32:51.353123Z",
  "parentId" : "7af485d6-e4d5-42fe-829e-5e917223a02c",
  "root" : false,
  "depth" : 2,
  "childrenIds" : [ ],
  "_title" : "Config Type"
}, {
  "id" : "bf136945-775f-4c81-b2e5-1868a5a6bb55",
  "domainId" : "e8f382e9-d04a-4d31-9b24-acd45c9797eb",
  "name" : "Network Group Limit",
  "code" : "network-group-limit",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.270071Z",
  "updatedAt" : "2024-04-05T12:32:53.270071Z",
  "parentId" : "7df70a1a-22dc-4c89-8bd0-f4704231125f",
  "root" : false,
  "depth" : 1,
  "childrenIds" : [ ],
  "_title" : "Network Group Limit"
} ]

Get Resource Type

GET /resource-types/{id}

Authorization

This endpoint requires read action on the resource-type resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

domainId

String

true

The id of the domain within which this {@link ResourceType} exists.

Must not be null.

name

String

true

The human friendly name of this {@link ResourceType}.

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

A unique value (within the domain) that can be used by code as a reference to this resource type. These values should almost always be the simple type name of the resource class, such as "BillingAccount".

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link ResourceType} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link ResourceType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

parentId

String

true

Returns the id of the parent {@link ResourceType} or null if this is a root.

root

Boolean

true

depth

Integer

true

Returns the depth of this {@link ResourceType} within the tree, where a root {@link ResourceType} has a depth of 0.

childrenIds

Array[Object]

true

Returns the id of {@link ResourceType}s that are children of this.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-types/1b171a23-4a45-48e5-b3bb-9c9eb94a46f2' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJkV3h1N0ZuRy1EcjhmU1dPdHJjX2VRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjE2MjQ5NTUxLTdlZGQtNGFkMi1iMWQ4LTEwZDFjMmE5MGUzYiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMywiZXhwIjoxNzEyMzI0MDAzLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNWExODIwNTItMWU0Zi00MmNmLWJiYTAtMzFhM2VhM2YzYTY3XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAzfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.qHYlIaNj21tyS3I3HOzfMyZSZfF_nF8UuJoRkJysZoLvRnpqHI9vsxg81_GxzwtAPqHGx3TvVjbbaLV6ydEnz5epIiYjCwYRdP9Ol8-TppgL7AqIHuh2CRe2zNhtYxbUM9hkRK0Zmb845rFmZOn2Kkz4yrIiKi3HaRlezKQH2B0Yg_8N8lOEU0sLfosSFdb-mdXGDhCSfUyaGrAdvPRi-aOJrST7_R24NBnegQwnJCEtKvNpXJ4m6q-GGkZDcvcD66MEK-Z3HuPXmFRlWKmLCNXhDEWH_-q3xrMBUET6UaVUOJ9pYXrD61jwEIJL0ise59xLGiCDs9kHJt588MWTFg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 406

{
  "id" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "domainId" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "name" : "Test Type",
  "code" : "test-type",
  "createdBy" : "afc5220a-c73b-4da7-b308-c7e1dbbce1ee",
  "createdAt" : "2024-04-05T12:33:05.396888Z",
  "updatedAt" : "2024-04-05T12:33:05.396888Z",
  "parentId" : null,
  "root" : true,
  "depth" : 0,
  "childrenIds" : [ ],
  "_title" : "Test Type"
}

Create Resource Type

POST /resource-types

Authorization

This endpoint requires the following actions:

  • create action on the resource-type resource type

  • read action on the domain resource type

  • read action on the resource-type resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

domainId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

parentId

String

true

Client must have read action on the annotated resource.

resourceType

Object

true

Must not be null.

resourceType.name

String

true

Must not be null.
Size must be between 1 and 256 inclusive.

resourceType.code

String

true

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

resourceType.children

Array[Object]

true

Response fields

Path Type Optional Description

id

String

true

Must not be null.

domainId

String

true

The id of the domain within which this {@link ResourceType} exists.

Must not be null.

name

String

true

The human friendly name of this {@link ResourceType}.

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

A unique value (within the domain) that can be used by code as a reference to this resource type. These values should almost always be the simple type name of the resource class, such as "BillingAccount".

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link ResourceType} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link ResourceType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

parentId

String

true

Returns the id of the parent {@link ResourceType} or null if this is a root.

root

Boolean

true

depth

Integer

true

Returns the depth of this {@link ResourceType} within the tree, where a root {@link ResourceType} has a depth of 0.

childrenIds

Array[Object]

true

Returns the id of {@link ResourceType}s that are children of this.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-types' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJNOFdHd09ha1NGN29qQjNiWmUzcTdnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjZjMzNjZGVhLWI4OTktNDdkYi1hNTUyLWI4YThlNGIyOWRlZSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMywiZXhwIjoxNzEyMzI0MDAzLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiY2E5M2U1YWItZWI2MC00YTY2LWFlNGMtNzkxNjI2MWIwOGIwXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAzfSx7XCJpZFwiOlwiMmY3MWJjZTctNTJkYi00ODNlLWJjNDMtOTFhOGU5NDg0NmJkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAzfSx7XCJpZFwiOlwiMTYwZTA3ZWYtZDA1My00N2RiLWFmMzktNTFkMmYzODY4OTMxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAzfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.A82VWcbk527abOyEiaLrINypTf-J0wteOly5591ac8LuFaswX3bagt9t2JkkFG36blmFJtUmEWdn2w3rIHWEwn3r5JDftKxtuqajkdRJQj9ulEJc0hleE0ua7dSFBL-aBTU7X5exyb6bs169wXlM_fF5j5UPH2Pzv-592YS4KpjgAO0az1CQ3OC1JrscH939rMbiNv2QdHPPLOaXgiI1a_ww1wcWC6nLsCi5hFts9kaXsqZWXCE52mns-N3XWMPFnr5X8K4EhpIx6y8DdC0HppBSCLo6scwChXOnlhx4zk5WHahGKUqFY7UqyvXdQssz63GAv4vKnmojNEiKfjd_cA' \
    -d '{"domainId":"dce616da-a2be-44d7-b844-e3b164c5a26b","parentId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2","resourceType":{"name":"Another Test Type","code":"anoter-test-type","children":[]}}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 464

{
  "id" : "1f3f3cf2-da5e-4e9c-baff-ce3f7f72c5cc",
  "domainId" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "name" : "Another Test Type",
  "code" : "anoter-test-type",
  "createdBy" : "6c33cdea-b899-47db-a552-b8a8e4b29dee",
  "createdAt" : "2024-04-05T12:33:23.683613Z",
  "updatedAt" : "2024-04-05T12:33:23.683613Z",
  "parentId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "root" : false,
  "depth" : 1,
  "childrenIds" : [ ],
  "_title" : "Another Test Type"
}

Resource Actions

Find Resource Actions

GET /resource-actions

Returns a set of {@link ResourceAction}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

specified. {@link CustomRole}s. Only non-deleted {@link CustomRoleAction}s are considered. {@link StandardRoleType}s.

Authorization

This endpoint requires read action on the resource-action resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

code

Object

true

Filters results to those matching one of the specified codes.

resourceTypeId

Object

true

Filters results to those that apply to one of the ,{@link ResourceType},s specified.

domainId

Object

true

Filters results to those that are in one of the specified ,{@link Domain},s.

customRoleId

Object

true

Filters results to those that are granted by one of the specified ,{@link CustomRole},s. Only non-deleted ,{@link CustomRoleAction},s are considered.

standardRoleTypeId

Object

true

Filters results to those that are included in one of the specified ,{@link StandardRoleType},s.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceTypeId

String

true

The type of resource that this {@link ResourceAction} applies to.

Must not be null.

[].name

String

true

A human friendly name for this action. This should be a verb only, such as "Create", "Grant", "Remove", "Activate", "Update", "Delete", etc. This can contain more than one word, and spaces are permitted and encouraged if more than one word is present. Words should be initial-caps. This value will be appended with the names of other entities, such as a resource type name, in order to compute names for the composition of this with another entity. For example, if this action is "Create" and it is composed with a resource type named "Network", then the resulting composition may be named "Create Network".

Must not be null.
Size must be between 1 and 256 inclusive.

[].code

String

true

Used by code as a reference to this action. These values should almost always be a simple verb such as "create", "update", "grant", "fetch", etc. Lower-case and hyphen separation of words is encouraged. Since this is used by code, the key value have a limited alphabet of letters, numbers, and hyphens. This value must be unique among the set of {@link ResourceAction}s targeting the same resource type.

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link ResourceAction} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link ResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].standardAction

Boolean

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-actions' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJfbWh3Q2R4SU9sWWstVFM0ZTN4S0xnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImQxNDQxMWVmLThmZjAtNDExNC04MDA1LTBkOWUyOWE5NTc3OSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMmJmMWYxMWEtYzU0Ny00MjUzLWE1ZjAtMTQ5NzhmYWNhNGFmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.MqrCYcOj9dFJr7uXHF-3ugiueDPxO59WNbJ4a3tzd-5wJxVy81nNpmmJD6CZOf14RsorNU0AuJwmlgf0GdV6B7cPhIZBI2RD0T5bx7kZYOKVY5nY5PdvKVM1Z05TyhdfRQs0Xh1wneEV-2w6RYpbyClrH2LgeEAhB1tEFu3WVVOLe2VK7vli0XDwuuWo3L1tHZLoxh-Ccgh7dwQ2uzsG8Y-CqSTqQuDBcesdCv-KXhbbPh-D8ITaic_nVmLYMfKmFJ29hnsoumuY5VSne0fKfysaXzF78RM636O0yr1Tx9U_c7-En4S2QGB3b5qkFJ8l4gfOH1vL1nkBhuTIDMlrJg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1111

[ {
  "id" : "ac064a43-af72-4d5a-a389-07e58374e198",
  "resourceTypeId" : "7df70a1a-22dc-4c89-8bd0-f4704231125f",
  "name" : "Read",
  "code" : "read",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:48.875834Z",
  "updatedAt" : "2024-04-05T12:32:48.875834Z",
  "standardAction" : true,
  "_title" : "Read Network Group"
}, {
  "id" : "d6d1f87c-6893-43d6-8195-34b818c0c960",
  "resourceTypeId" : "10a3708b-5d68-41f4-a38b-1d484dc2ae69",
  "name" : "Update",
  "code" : "update",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:48.879020Z",
  "updatedAt" : "2024-04-05T12:32:48.879020Z",
  "standardAction" : true,
  "_title" : "Update Endpoint Group"
}, {
  "id" : "211040ee-68f0-448f-9d5b-26dbd78f3344",
  "resourceTypeId" : "c4a729e5-f33a-4ec4-8f78-85c62c927d66",
  "name" : "Update",
  "code" : "update",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:52.932713Z",
  "updatedAt" : "2024-04-05T12:32:52.932713Z",
  "standardAction" : true,
  "_title" : "Update Process Execution"
} ]

Get Resource Action

GET /resource-actions/{id}

Authorization

This endpoint requires read action on the resource-action resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceTypeId

String

true

The type of resource that this {@link ResourceAction} applies to.

Must not be null.

name

String

true

A human friendly name for this action. This should be a verb only, such as "Create", "Grant", "Remove", "Activate", "Update", "Delete", etc. This can contain more than one word, and spaces are permitted and encouraged if more than one word is present. Words should be initial-caps. This value will be appended with the names of other entities, such as a resource type name, in order to compute names for the composition of this with another entity. For example, if this action is "Create" and it is composed with a resource type named "Network", then the resulting composition may be named "Create Network".

Must not be null.
Size must be between 1 and 256 inclusive.

code

String

true

Used by code as a reference to this action. These values should almost always be a simple verb such as "create", "update", "grant", "fetch", etc. Lower-case and hyphen separation of words is encouraged. Since this is used by code, the key value have a limited alphabet of letters, numbers, and hyphens. This value must be unique among the set of {@link ResourceAction}s targeting the same resource type.

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link ResourceAction} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link ResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

standardAction

Boolean

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-actions/3904dee5-88e8-4c4c-9e92-dfa4d320d3d6' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJpcElIOXFVbllHbFdtMzlQYUpnSzdRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjczNjJkYzVjLTY2YzctNDU1YS1hNWI4LTQ3NzMyYjk4ZjA1YyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNmI2MTMxYTQtY2JhZS00YzAwLTljMTEtMjUyOTJkZWI1NGZlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.fel41Wf7Hf_d7U9r_lcP_lnxI7DJGqjjnxs3YScdA9cgcs18huU2SyjecxVTbhhYHCwpPb4FUeowaJP0r39eDMfk_O-1U23xSMrFns9BYcD5wdYpOF1MyZEF-n9KW12zj2_vcNnlE4glOyzF2At37vc3Cw4USPrjGE-LZgAx6LO8ORM0ppuewkr_Bwc3e5ZCa1zVklgpTkSG0LkTzAyfk9O04Z2g052JL7T8_ZOm3YDQs8CrS1urhbDKAXv2qu5ByVdMJ5AzpkAbtXbWcAT_jN8anjfudhFzA1aH--s_l1xCl_3b--nV3BnWio9iEMfjiGIQE45ojfEex7hUQ5VRvQ'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 380

{
  "id" : "3904dee5-88e8-4c4c-9e92-dfa4d320d3d6",
  "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "name" : "Test Action",
  "code" : "test-action",
  "createdBy" : "f24091ef-c40b-4367-a7ce-016c3731d81b",
  "createdAt" : "2024-04-05T12:33:05.452292Z",
  "updatedAt" : "2024-04-05T12:33:05.452292Z",
  "standardAction" : false,
  "_title" : "Test Action Test Type"
}

Create Resource Action

POST /resource-actions

Authorization

This endpoint requires the following actions:

  • create action on the resource-action resource type

  • read action on the resource-type resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

resourceTypeId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

actions

Array[Object]

true

Must not be empty.
Must not be null.

actions[].name

String

true

Must not be null.

actions[].code

String

true

Must not be null.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceTypeId

String

true

The type of resource that this {@link ResourceAction} applies to.

Must not be null.

[].name

String

true

A human friendly name for this action. This should be a verb only, such as "Create", "Grant", "Remove", "Activate", "Update", "Delete", etc. This can contain more than one word, and spaces are permitted and encouraged if more than one word is present. Words should be initial-caps. This value will be appended with the names of other entities, such as a resource type name, in order to compute names for the composition of this with another entity. For example, if this action is "Create" and it is composed with a resource type named "Network", then the resulting composition may be named "Create Network".

Must not be null.
Size must be between 1 and 256 inclusive.

[].code

String

true

Used by code as a reference to this action. These values should almost always be a simple verb such as "create", "update", "grant", "fetch", etc. Lower-case and hyphen separation of words is encouraged. Since this is used by code, the key value have a limited alphabet of letters, numbers, and hyphens. This value must be unique among the set of {@link ResourceAction}s targeting the same resource type.

Must match the regular expression [0-9a-zA-Z-]+.
Must not be null.
Size must be between 1 and 64 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link ResourceAction} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link ResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].standardAction

Boolean

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/resource-actions' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiI1UTdUSnlDQ1BIQXJ6clZRanN2d29nIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImRmOWQ4ZjIyLTFkZTUtNGEzYi1iMzUxLWNkMWNiNGNiOTM2NyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMzA5NDRkN2EtZWUyOC00Nzk1LWJlZDEtOGMxNzdlMjk2ZDBmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfSx7XCJpZFwiOlwiMmYzY2NkYjQtYTE0NS00NTE2LWJiNDctYTg5NDY0OTQ1YjExXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.oo2nqJMGlwzEwEaEQ-YkNIhK94ubeYyldIS5jnzCcti75qFbMf6zYxpsagPJv9uO5J2S-4Sc93orusJwV1eeA9BR2CmlmqKnF-zYJBRRcYzjOwOjdbOUWXgmKYijGeDUoQ0iDKzKo74l68nijdkwt1QFLl_JW_NNL_Pp0_UKX84DWEyL2j6AH6T6MXU901pZz3BHZwR6ROZ0e-CK5pKW8Au8BpvTkhq7lZ55SAj-6d3TfKffyDTjImcAuDcxujGt66j3AIO1JR5LzrzPTFy82QVSFR5foDWFTJpXDF_-cTzoMUs1v9eAgqvN9WYh395czIeUlwVkJ_dbyv8YrfP2ig' \
    -d '{"resourceTypeId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2","actions":[{"name":"Update Custom","code":"update-custom"}]}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390

[ {
  "id" : "4e945bb3-0ee6-441d-bc30-31c3191ddc86",
  "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "name" : "Update Custom",
  "code" : "update-custom",
  "createdBy" : "df9d8f22-1de5-4a3b-b351-cd1cb4cb9367",
  "createdAt" : "2024-04-05T12:33:20.770745Z",
  "updatedAt" : "2024-04-05T12:33:20.770745Z",
  "standardAction" : false,
  "_title" : "Update Custom Test Type"
} ]

Authorization Grants

Grants (abstract)

Find Grants

GET /grants

Authorization

Authorization not required for this request.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

grantType

Object

true

identityId

Object

true

resourceActionId

Object

true

path

Object

true

Request fields

No request body.

Response fields

Path Type Optional Description

[].grantType

String

true

The concrete type that this virtual {@link Grant} is based upon. Never null.

Must be one of [CustomRole, IdentityResourceAction, PublicGrant, SuperUser].

[].grantId

String

true

The id of the concrete grant resource on which this virtual {@link Grant} is based. If the grant type has separate resources for the grant and the privileges, then this will reference the grant resource (the resource with an identity id.) Never null.

[].privilegeSourceId

String

true

The id of the concrete {@link PrivilegeSource} from which this grant is based. Some grant types combine the grant and privilege aspects into a single resource. For example, a {@link SuperUser} is both a grant (it specifies an identity id) and a privilege source. In other cases, such as a {@link CustomRole} and {@link CustomRoleGrant}, they are separate. When they are the same resource, this value will match the grantId value. Never null.

[].identityId

String

true

The identity id of the holder of this grant. Almost never null, with the one exception of a grant made to all users (or all authenticated users.).

[].privileges

Map

true

The set of privileges that this grants. These are organized as a stack of 3 Maps where the keys are the domain code, then the resource type code, then the action code, and the leaf value is a set of paths on which that action can be performed.

[].createdBy

String

true

The identity id that created the grant.

Must not be null.

[].createdAt

String

true

The date-time at which the grant was created.

Must not be null.

[].deletedAt

String

true

The date-time at which the grant was deleted. This will be null for an grant that has not been deleted. If this property is not null, then the grant is 'marked' as being deleted.

[].deletedBy

String

true

The identity id that deleted the grant. This will be null until the resource is marked deleted.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/grants' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJzRkhPTTdmMnlzLURRendsWEMwbjRRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjFjMTk2ZjQwLWYzMDQtNDI5Ny1iZjU0LTQ5MTBiZDFkYWFmZSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MiwiZXhwIjoxNzEyMzIzOTkyLCJncmFudHMtc3VwZXIiOiJbe1wiaWRcIjpcImQwOTYzY2FmLWEyMjItNGJlYi1iNjI2LTE3YTdjYjcyOTg5YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5Mn1dIiwiZ3JhbnRzLWN1c3RvbSI6IltdIiwiZ3JhbnRzLXB1YmxpYyI6Ilt7XCJpZFwiOlwiMGJjZjVmMzMtNDJhYy00NDE3LWE4ZWQtYzg3YjNjYzZlMDJmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiNzIzNjZmOWYtNzA4Yy00ZDE5LTlmNjQtOWU4YmFiMDc3N2JlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzg1fSx7XCJpZFwiOlwiN2ViZjBhMTktYWY2My00MzM2LTliY2ItMWUyYTBjOTk3NzAxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiODgxMWZkYWYtNzBhMC00YWNjLWJlMmYtMjMwY2IwMWU4MWE2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcyfSx7XCJpZFwiOlwiMDU0N2MxYmYtMTg0My00M2FlLWI1NmQtNTUyYTJmOTlhZmQ0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiY2VkOGRmZTEtYjI2Yi00YjM4LTk0YjYtZThiYmViM2Y0NGNiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcxfSx7XCJpZFwiOlwiNTE0YWUwOTgtZGJkMy00MDk3LWI5ODMtOWU0YzQyNWJkMDY0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiZThkZTM4YWUtYmQyNC00MjQ0LWE4ZDUtOTc5NzczYWQ1YzVhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzcwfSx7XCJpZFwiOlwiYjVlMTFmYzgtZWE4YS00M2JhLWFhY2QtYTlmN2UwNjQ4MzI1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fSx7XCJpZFwiOlwiY2Q4MDZiNzctZTMwNC00MWIzLWFkNmMtODM4Yzg5YTI2ZDhjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzY5fV0iLCJncmFudHMtYWN0aW9uIjoiW10iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.QleOHrKTJjfjWdU2odC2UT2lIDSqeJGcGAovdZxit8oWyxWXA_pvt2lItXu-vPc5tJez5S6Ri7RuO1hcWjBCQb57IGouzYaj0oW49RWaqSDhdVETEwlCNR64t0mEGgOANw8eP7l2uWEw1Ha830aVQviWyX0FdmbMTnpgfXGWYrw1cVTWNogaDgSKZShGKxzSRLZY55eviyXciuVVi3W1ZkO11iAhP9xXCu6cwudcuWKtAje81GWAAC_n_53TGFa_ZsBLKj3NB82wNtv67xzGgwsTyxX3h4m-RVc1myDWcMhA_tjXYO3nvX5zz6zepZ--A20L-P08pJF0hlZVYjXyZg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1735

[ {
  "grantType" : "IdentityResourceAction",
  "grantId" : "a9bf2207-3762-4d39-92e0-6d0dbbcce724",
  "privilegeSourceId" : "a9bf2207-3762-4d39-92e0-6d0dbbcce724",
  "identityId" : "50f24a8c-4845-4b69-83a9-00d53f1d7da2",
  "privileges" : {
    "io.netfoundry.management" : {
      "banner" : {
        "delete" : [ [ ] ]
      }
    }
  },
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.991152Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Delete Banner, All to identity 50f24a8c-4845-4b69-83a9-00d53f1d7da2"
}, {
  "grantType" : "IdentityResourceAction",
  "grantId" : "7c438a01-81bd-4669-9e3e-bbf45fc27e6e",
  "privilegeSourceId" : "7c438a01-81bd-4669-9e3e-bbf45fc27e6e",
  "identityId" : "0ed768fa-7214-4404-8335-a715156dff45",
  "privileges" : {
    "io.netfoundry.auth" : {
      "super-user" : {
        "read" : [ [ ] ]
      }
    }
  },
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:51.392110Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Read Super User, All to identity 0ed768fa-7214-4404-8335-a715156dff45"
}, {
  "grantType" : "IdentityResourceAction",
  "grantId" : "a10a5e36-b808-413a-abd1-981e6f91d3c2",
  "privilegeSourceId" : "a10a5e36-b808-413a-abd1-981e6f91d3c2",
  "identityId" : "0ed768fa-7214-4404-8335-a715156dff45",
  "privileges" : {
    "io.netfoundry.auth" : {
      "standard-role" : {
        "read" : [ [ ] ]
      }
    }
  },
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:51.392110Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Read Standard Role, All to identity 0ed768fa-7214-4404-8335-a715156dff45"
} ]

Super-User Grants

Find Super Users

GET /super-users

Returns a set of {@link SuperUser}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link Domain}s. To search for {@link SuperUser}s that explicitly grant access to all domains (ie, the domainId is null), include this query parameter with no value. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the super-user resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

identityId

Object

true

Filters results to those that grant to an identity specified in this set.

domainId

Object

true

Filters results to those that grant access to one of the specified ,{@link Domain},s. To search for ,{@link SuperUser},s that explicitly grant access to all domains (ie, the domainId is null), include this query parameter with no value.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].identityId

String

true

The id of the identity to whom super-user access has been granted.

Must not be null.

[].domainId

String

true

An optional {@link Domain} id, which when set indicates that this super-user is limited to {@link ResourceAction}s in the corresponding {@link Domain}. When not set, this super-user applies to all {@link Domain}s, present and future.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link SuperUser} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link SuperUser} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link SuperUser} was deleted. This will be null for an {@link SuperUser} that has not been deleted. If this property is not null, then the {@link SuperUser} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].type

String

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/super-users' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJMS3BJLTVieTZ4bWRYQnZjRENfRzRBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6Ijc5Y2VkMWI4LWU3MTYtNDEwMS04MTM3LTliZDI5ZTMxMzQyOSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiN2I4NzJmNDYtZTgxOC00Mzk5LWE4OGUtYzA2MzQ0N2Y4ZDgyXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.SYkYHP05iHTbpLrSFOnY5oFOzJP2uHWIjK-6E6BrkHffvuj7mhzvItbhg2CgsGnu04eVXTTDiOG3oLzgOpOTjCaBxHbWiaIb1kP4E7wLDvtwkZSLiap5YHcb4SDjNW6SDi_usIMutxafD_iF6yYMrVncZO2CIJElquJ5dBkx14mWvP7ijVflEpZ0GfRDwL82ksmuI3ZpbJ0U421zjm3U5UGLcGdgwjx9PJ-35R9anp9vsZea3SwrjVxE0PQhBGKWA0sEaBXp__KVBcAmaUZJKtser7XbHBWrJj8QsktGfI76dCD_NW7MP8-cjMPjdY45NNqfufWH5G8rKG3XRtqiAw'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1602

[ {
  "id" : "7f146fc6-f116-4a7b-a445-a6d6085eefca",
  "identityId" : "0079fedb-83de-4f60-af67-73d0cb06b1bc",
  "domainId" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "createdBy" : "7d030c6e-594a-4852-a61e-2d7f79c50879",
  "createdAt" : "2024-04-05T12:33:05.482307Z",
  "updatedAt" : "2024-04-05T12:33:05.482307Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.superuser.SuperUser",
  "_title" : "Grant All Actions (SU) in Test Domain to identity 0079fedb-83de-4f60-af67-73d0cb06b1bc"
}, {
  "id" : "1144efb5-6c73-4712-8554-f52a43c4b902",
  "identityId" : "78daa41e-3492-4443-b7bb-a27b6b61cd13",
  "domainId" : "5bd28ffd-d4d8-4f6f-b497-5681e724b0fb",
  "createdBy" : "9e28c07b-2011-4414-92fa-c613ea9f7d84",
  "createdAt" : "2024-04-05T12:33:22.679168Z",
  "updatedAt" : "2024-04-05T12:33:22.751983Z",
  "deletedAt" : "2024-04-05T12:33:22.750752Z",
  "deletedBy" : "6348c183-3f88-4b79-9b62-e6602aecd575",
  "type" : "io.netfoundry.auth.domainv2.superuser.SuperUser",
  "_title" : "Grant All Actions (SU) in Test Domain 55 to identity 78daa41e-3492-4443-b7bb-a27b6b61cd13"
}, {
  "id" : "e10175aa-1f3b-4fe2-a384-38cc7ac83512",
  "identityId" : "0079fedb-83de-4f60-af67-73d0cb06b1bc",
  "domainId" : null,
  "createdBy" : "fd0749d8-2057-4763-89bc-774a4bb89139",
  "createdAt" : "2024-04-05T12:33:22.488635Z",
  "updatedAt" : "2024-04-05T12:33:22.488635Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.superuser.SuperUser",
  "_title" : "Grant All Actions (SU) in All Domains to identity 0079fedb-83de-4f60-af67-73d0cb06b1bc"
} ]

Get Super User

GET /super-users/{id}

Authorization

This endpoint requires read action on the super-user resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

The id of the identity to whom super-user access has been granted.

Must not be null.

domainId

String

true

An optional {@link Domain} id, which when set indicates that this super-user is limited to {@link ResourceAction}s in the corresponding {@link Domain}. When not set, this super-user applies to all {@link Domain}s, present and future.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link SuperUser} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link SuperUser} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link SuperUser} was deleted. This will be null for an {@link SuperUser} that has not been deleted. If this property is not null, then the {@link SuperUser} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/super-users/7f146fc6-f116-4a7b-a445-a6d6085eefca' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiI2OU5zVlpHQzFxbzdrcFZvNllxRVNRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjI2NDExMjAyLTAyYTEtNDdjNC05ZmI0LTc4YTE2MGIzMTYxNiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZDQ5MmFmZGEtOTIyMS00YzI5LTg5ZmEtNTEwZmYwY2I0NGRkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.qc2qylxMKGTqIIR-DN62lZvU5hS0RlCoKDokon-4XaC4GBlUnS28CdTJaYPXHi7_J9ocSPv9lrK7JzBT8Tm8RXrSeAYLVXu19Y1cXdXvwS1TEO3iERliHUeE4bJEssssi11td4DNlOq_TrU12mEOIcuAob7YhhgCdETq9p9OAxG7-PccD8EMxVeF1Mo81QylAK394XH4YzpifjISH_GKVMzwwEYPUwjD0Ew8_LZuDlu-kekNxmGm0ZPOHPqux60kqQsfhyyTbZcEEgCy1iRITf2LHGxq2NMe7HHcbpDeuYJTM-j5PxdYwb6tIEeEz_ghHtNfQD4kwOQhxcT61oaJxQ'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 522

{
  "id" : "7f146fc6-f116-4a7b-a445-a6d6085eefca",
  "identityId" : "0079fedb-83de-4f60-af67-73d0cb06b1bc",
  "domainId" : "dce616da-a2be-44d7-b844-e3b164c5a26b",
  "createdBy" : "7d030c6e-594a-4852-a61e-2d7f79c50879",
  "createdAt" : "2024-04-05T12:33:05.482307Z",
  "updatedAt" : "2024-04-05T12:33:05.482307Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.superuser.SuperUser",
  "_title" : "Grant All Actions (SU) in Test Domain to identity 0079fedb-83de-4f60-af67-73d0cb06b1bc"
}

Create Super User

POST /super-users

Authorization

This endpoint requires the following actions:

  • create action on the super-user resource type

  • read action on the domain resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

identityId

String

true

Must not be null.

domainId

String

true

Client must have read action on the annotated resource.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

The id of the identity to whom super-user access has been granted.

Must not be null.

domainId

String

true

An optional {@link Domain} id, which when set indicates that this super-user is limited to {@link ResourceAction}s in the corresponding {@link Domain}. When not set, this super-user applies to all {@link Domain}s, present and future.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link SuperUser} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link SuperUser} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link SuperUser} was deleted. This will be null for an {@link SuperUser} that has not been deleted. If this property is not null, then the {@link SuperUser} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/super-users' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJ6S3ZLTVdoWXRBM0doaF9OOVZqN3Z3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImZkMDc0OWQ4LTIwNTctNDc2My04OWJjLTc3NGE0YmI4OTEzOSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZWFkMmQyODItY2QxZi00YzUyLTk5MGItMDI5YmQzMjNiZjQxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfSx7XCJpZFwiOlwiZjQzY2NmOTItMmRiNS00NzIyLTk0OTUtOTdjMmE2M2U1NTgxXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.hGkw23ytDv5_27K_wvHUIb2Z--BgUiQcyR8TNn6EF_aOVTIe7DuVXEHsVqOIZPS__dF9mui1SzAb_ydlbcopm2LPdRda3N-xYoaElaemtIvVxiwSAzmJYKEhqNWXEgZg677VWpCw81F5Qg1IT6Dek_8X5IcmCv1i8tVUkKGeCaSziFd1aO_t1pZwMG4ZKQ_DsO6PGzdHQ_IkE7ktBoZcCJHh_7grPmzCu8Y9PW0AVDusKn8-6DvSxWdhJAU4aFENbUb5vvMJgdg7upHJsS63FApCBIgIYQwAcoI5qZpX5gOGd084SjZMgEtnDIdqXPPcHWJece2wE_0jJ6b2vGgJJw' \
    -d '{"identityId":"0079fedb-83de-4f60-af67-73d0cb06b1bc","domainId":null}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 488

{
  "id" : "e10175aa-1f3b-4fe2-a384-38cc7ac83512",
  "identityId" : "0079fedb-83de-4f60-af67-73d0cb06b1bc",
  "domainId" : null,
  "createdBy" : "fd0749d8-2057-4763-89bc-774a4bb89139",
  "createdAt" : "2024-04-05T12:33:22.488635Z",
  "updatedAt" : "2024-04-05T12:33:22.488635Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.superuser.SuperUser",
  "_title" : "Grant All Actions (SU) in All Domains to identity 0079fedb-83de-4f60-af67-73d0cb06b1bc"
}

Delete Super User

DELETE /super-users/{id}

Authorization

This endpoint requires delete action on the super-user resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/super-users/1144efb5-6c73-4712-8554-f52a43c4b902' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJQS29zSVd2bXJmS3RtUUE5UlY2eWNnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjYzNDhjMTgzLTNmODgtNGI3OS05YjYyLWU2NjAyYWVjZDU3NSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMWE2NDVlZDUtMGI4MC00Y2NmLTliYzEtZTQyYjJjNzFiYmQ2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.naUlv5aizmorN77w1dW-_9E1NWncxuocxsYnCWZE0FSjTbBFDmz-7z0HiAjv5vhDBZ8WhuNEpGbc1lA8AIU1WmnlJCdQYymuHxljfnrL-3ikBwivu43EpHpcuyTJ4f8H0QHHE--y7mxDAxrm1FGwWfl_PBBNcjd93C9A4gDv9ncxBGNb2WxVnIoV24Wxq_QJy1IHb5KoGfX8j2C_U7_LpRN9DJEJKbAK3vMrkf8RCu5JGnCGWWGymIivWYZnSmXA6cpkovxwzrfJpivq1Ppgggrn6e4R84ID7v2YtLADTPiWKjwiEcGkX8iGPfWibXtOVaupsRnYQVs2nsQ9_erZFg'

Example response

HTTP/1.1 200 OK

Public Grants

Find Public Grants

GET /public-grants

Returns a set of {@link PublicGrant}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceAction}s. false, filters to those with the isAnonymous property is false. When not specified, the results will include those with both true and false values for this property. example, if the path is to Network X which is under Network Group Y, this would restrict the results to {@link IdentityResourceAction}s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.
The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the public-grant resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

resourceActionId

Object

true

Filters results to those that grant one of the specified ,{@link ResourceAction},s.

isAnonymous

Boolean

true

When true, filters results where the isAnonymous property is true. When false, filters to those with the isAnonymous property is false. When not specified, the results will include those with both true and false values for this property.

path

Object

true

Filters results to those that target any resource along the specified path. For example, if the path is to Network X which is under Network Group Y, this would restrict the results to ,{@link IdentityResourceAction},s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.,
, The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceActionId

String

true

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link PublicGrant} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link PublicGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link PublicGrant} was deleted. This will be null for an {@link PublicGrant} that has not been deleted. If this property is not null, then the {@link PublicGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link PublicGrant} targets.

Must not be null.

[].path[].resourceId

String

true

Must not be null.

[].path[].resourceTypeId

String

true

[].type

String

true

[].anonymous

Boolean

true

If true, then any client may perform the linked action even if not authenticated. If false, then a client must be authenticated in order to perform the linked action. The actual identity id of the client does not matter for {@link PublicGrant}s.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/public-grants' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJ0Ti0xS1JCYjg0UVgzUzFITjk3QmhBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjgyYzg3MDI5LTA1OTItNDA4OS04ZGNiLWI4ZGI2YTkzMTIzYiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiOTViZDYwMGQtYjc5ZC00ZjM1LTgwMGQtYThjMTVlNDA3NTk5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.b4MtQkmIP5--j-EfavlCADhVfISbkFqIAFEp8qk-dKIf7J-AsAjcRNyOOfdWt089iLsZtL5fu95IyOnxY2XjpzQTHMJA4bUpC4960Xu2cnSrLElLCHSMtleRzdRj4qOvcDCvYSoBwcCYHXcEtcWLoU5-d9UoaQBHJlNrQNXMjJ5gy6_am0G5cGZrTnzGdPJRjcxlPD3x00YniivIyl2caw7YLKvy-kpyQTabx3IncjcQ0uv6bXQGSRl2Bx1ugpIPDfbpJIFDjmHc-lYCcxHr6EQbx2dOr1cqadjt7NKD4FuV1punx3oO1Qqy3ZjjWUDbw0H5x7Tat4EKIwY-2KaGUQ'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1657

[ {
  "id" : "e8de38ae-bd24-4244-a8d5-979773ad5c5a",
  "resourceActionId" : "4db103bf-208a-4742-9948-7fd18aefabae",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:50.926862Z",
  "updatedAt" : "2024-04-05T12:32:50.926862Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "type" : "io.netfoundry.auth.domainv2.publicgrant.PublicGrant",
  "anonymous" : false,
  "_title" : "Grant Read Workflow Status, All to All Authenticated Clients"
}, {
  "id" : "027ef3f6-5d32-4773-9500-811d6a875316",
  "resourceActionId" : "3904dee5-88e8-4c4c-9e92-dfa4d320d3d6",
  "createdBy" : "cc358409-cf68-40dd-a70c-881f7db6f524",
  "createdAt" : "2024-04-05T12:33:20.412921Z",
  "updatedAt" : "2024-04-05T12:33:20.412921Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "6088274d-45e7-4838-84a7-bcb58dcd2285",
    "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"
  } ],
  "type" : "io.netfoundry.auth.domainv2.publicgrant.PublicGrant",
  "anonymous" : false,
  "_title" : "Grant Test Action Test Type on/under Test Type 6088274d-45e7-4838-84a7-bcb58dcd2285 to All Authenticated Clients"
}, {
  "id" : "0bcf5f33-42ac-4417-a8ed-c87b3cc6e02f",
  "resourceActionId" : "4e2313ef-bc5f-4b0b-932f-9f4f63f6cbec",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:49.946465Z",
  "updatedAt" : "2024-04-05T12:32:49.946465Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "type" : "io.netfoundry.auth.domainv2.publicgrant.PublicGrant",
  "anonymous" : false,
  "_title" : "Grant Read Resource Action, All to All Authenticated Clients"
} ]

Get Public Grant

GET /public-grants/{id}

Authorization

This endpoint requires read action on the public-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceActionId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link PublicGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link PublicGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link PublicGrant} was deleted. This will be null for an {@link PublicGrant} that has not been deleted. If this property is not null, then the {@link PublicGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link PublicGrant} targets.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

anonymous

Boolean

true

If true, then any client may perform the linked action even if not authenticated. If false, then a client must be authenticated in order to perform the linked action. The actual identity id of the client does not matter for {@link PublicGrant}s.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/public-grants/19d90af6-7b24-4579-9d92-f947cc029f7a' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJOY0p5bG9WTERmU0ctX0hKMHVpeGJRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImQwOGNiZjdiLWQ3Y2QtNDFkMy1hNjM1LTA3ODAzM2E4OWI5OSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZTg3NzA0M2QtZjM2ZC00MWZhLTg0NmYtZGU0MmRjZjU2NGJlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.q6EGvO260OQzulwqi1Ah9qN2His-xK6tWgKatDK3Ax8Q07eYSsIxsz872yOXlWxkq2Z_rBbZixuBde-7Zgoo0SzzK2mLKUpBDE-7YVjiv-nueMvhfVWfXCwNo8ZIASnaJ_9eIvvohJYmIvMpQnN4CJYruXtHLzfyBIjbxe7LpaMKm0QDWPUxSIcLYJ4k7UFjjmOaGxtw4HO3n0AFq7an4-WJ0FGe0aOnb6YV1tTjqrZkQJMbslZU7Z0rR5Yw0ldIQjge9OulRkafa4ZqDb-nA8Oj1UUffr0cvfuCz550Uh7orQZi0dzMZO9xjj-HNEUCDgHEhJLFtEfGuNQXBqI26w'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 678

{
  "id" : "19d90af6-7b24-4579-9d92-f947cc029f7a",
  "resourceActionId" : "ff21e67d-4389-4f5d-bc46-604a01a4db43",
  "createdBy" : "277c8922-40d1-4e88-82ce-557bbb995ac7",
  "createdAt" : "2024-04-05T12:33:19.982327Z",
  "updatedAt" : "2024-04-05T12:33:19.982327Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "257f69f1-f730-46b6-bc60-6bd6949e824d",
    "resourceTypeId" : "b5beb8a5-dd18-4325-aa49-f7ba0917efa8"
  } ],
  "type" : "io.netfoundry.auth.domainv2.publicgrant.PublicGrant",
  "anonymous" : false,
  "_title" : "Grant Test Action 45 Test Type 44 on/under Test Type 44 257f69f1-f730-46b6-bc60-6bd6949e824d to All Authenticated Clients"
}

Create Public Grant

POST /public-grants

Authorization

This endpoint requires the following actions:

  • create action on the public-grant resource type

  • read action on the resource-action resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

resourceActionId

String

true

Client must have read action on the annotated resource.
Must not be null.

path

Array[Object]

true

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

anonymous

Boolean

true

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceActionId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link PublicGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link PublicGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link PublicGrant} was deleted. This will be null for an {@link PublicGrant} that has not been deleted. If this property is not null, then the {@link PublicGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link PublicGrant} targets.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

anonymous

Boolean

true

If true, then any client may perform the linked action even if not authenticated. If false, then a client must be authenticated in order to perform the linked action. The actual identity id of the client does not matter for {@link PublicGrant}s.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/public-grants' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJMcW94ZEYyQlJyUUhIbktiYkp2em9nIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImNjMzU4NDA5LWNmNjgtNDBkZC1hNzBjLTg4MWY3ZGI2ZjUyNCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMDIxYjc1ZTctMDQ2YS00ZWI5LWFmZDYtZTg1OGZiMmUxZmNkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfSx7XCJpZFwiOlwiNWU3YjUxMDItNDMxMS00ZDNjLWFkMjItMGZiMmVjM2ZkMzI0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.X6Milv0F241Y6UbXrS96cMC5-MAcin0DFVhKwtTT1PO4kNzC2alsbBuqzGStjqLU87b68kMJfLP1Ixe-zmts53s5tqerRohxP0GyUHOYdfM37EnkwNhP2EvszTs5X81_jvf7NK6Cpk1Zt1q5p05_fTnZIdU9PRUTfUgW0014ewqVmi2PPMab7hqfoz8cn5o2tGwO9jJG5QYO6_lV4bTtshiO60EBiaQnY6RYhyezabTXkWivId8_BQ0zrYBu07QydiuKg_CE8ay6ystGfgcIWkalIyNEfp215KEBhqr2SrDBa9GQb4WUML7WIV-Yp2ApeuVbpaXqbbuQOLQ1Y5OAew' \
    -d '{"resourceActionId":"3904dee5-88e8-4c4c-9e92-dfa4d320d3d6","path":[{"resourceId":"6088274d-45e7-4838-84a7-bcb58dcd2285","resourceTypeId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"}],"anonymous":false}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 669

{
  "id" : "027ef3f6-5d32-4773-9500-811d6a875316",
  "resourceActionId" : "3904dee5-88e8-4c4c-9e92-dfa4d320d3d6",
  "createdBy" : "cc358409-cf68-40dd-a70c-881f7db6f524",
  "createdAt" : "2024-04-05T12:33:20.412921Z",
  "updatedAt" : "2024-04-05T12:33:20.412921Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "6088274d-45e7-4838-84a7-bcb58dcd2285",
    "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"
  } ],
  "type" : "io.netfoundry.auth.domainv2.publicgrant.PublicGrant",
  "anonymous" : false,
  "_title" : "Grant Test Action Test Type on/under Test Type 6088274d-45e7-4838-84a7-bcb58dcd2285 to All Authenticated Clients"
}

Delete Public Grant

DELETE /public-grants/{id}

Authorization

This endpoint requires delete action on the public-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/public-grants/3d176867-e936-458c-b59a-df6c7ebdee88' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJPRzZFMnh3ZGhJX3pSWmRkQzVDeEJBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjQ3ZjQ4MDkxLTg2ODktNGY3OC05YWQ4LTBmNzY4ZjI2OWJiZSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMCwiZXhwIjoxNzEyMzI0MDAwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjNkMTc2ODY3LWU5MzYtNDU4Yy1iNTlhLWRmNmM3ZWJkZWU4OFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZjIzZmNjYjQtYWI0Ny00OTcxLWFhYzctYmRjMzY0MGJjMTMyXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.JUI3z163wW949Gl9ESlcQcoLXG2-crGCaNX51U_iog4wq2KBHAuIEEx_gSGDQFVYP2ES8w_CBz02EgUiZutqo4kRPP_69GLzBvx3UYiFqMhsxOB4VZIgHbXFDgE9RHpOVg_ORcaieB_zZKOUwia9pBQ3ixVpiMa7i58TqrspVIWp51ePvln1aM0rzWyNeUzoeVi_p6qspePgLZcsUxUjwlxm0-yjpaVZy2RK9xWk-OhaedXTlY38qFBdiBrJByGhXC96yBLCgxXrptiqB9SbduYQiWIikefAb7NO1Nw_SF4U6YsINCu5KCqXZFQM__Igdtg7mFCqNucrV-18njgimA'

Example response

HTTP/1.1 200 OK

Identity - Resource Action Grants

Find Identity Resource Actions

GET /identity-resource-actions

Returns a set of {@link IdentityResourceAction}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceAction}s. For example, if the path is to Network X which is under Network Group Y, this would restrict the results to {@link CustomRoleAction}s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.
The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the identity-resource-action resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

identityId

Object

true

Filters results to those that grant to an identity specified in this set.

resourceActionId

Object

true

Filters results to those that grant one of the specified ,{@link ResourceAction},s.

path

Object

true

Filters results to those that target any resource along the specified path.,
, For example, if the path is to Network X which is under Network Group Y, this would restrict the results to ,{@link CustomRoleAction},s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.,
, The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].identityId

String

true

The id of the identity to whom this {@link IdentityResourceAction#resourceActionId} has been granted.

Must not be null.

[].resourceActionId

String

true

The {@link ResourceAction} that possession of this {@link IdentityResourceAction} grants to the linked identity for resources under the specified path.

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link IdentityResourceAction} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link IdentityResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link IdentityResourceAction} was deleted. This will be null for an {@link IdentityResourceAction} that has not been deleted. If this property is not null, then the {@link IdentityResourceAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

[].path[].resourceId

String

true

Must not be null.

[].path[].resourceTypeId

String

true

[].type

String

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/identity-resource-actions' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJOUUNRZzBDRXhWWDhySmNUOHJDZHVBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImUyMzJlODYzLWYxZjktNDIzYS1hZWQ2LTk0MTYxNzM5ZGRlZiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MSwiZXhwIjoxNzEyMzIzOTkxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZDljYWQzYmMtMjM4OS00ZGRhLWFhNjctNmY1NTExOGU2NjNiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.Ns9YMIox3dTQ2OE_rTB-WNjUuZCRni_C1es1ULNy_TyQ_DbRolci8_s4Ra59kxmhKumQxaX4Wj19DcbN9B5MNt4RmMUtJfn87rLE7hGS9KlW_M43Y4Poai_nw4UJSmMezNZW4WJjCMkVcY9vhhi2JptpHci_7s1539fCIk3JOS3bAMesem3A6VIVDquw1sPSTngatkQGablPALZtngB7JndM6UEsW4poL76auVs6ZYkFcGtBvLdS-VOONzHV5xFYOAnIczkEZUp9LFn68kUb1uPqSIBXegaJ7XLwwKeJMDS5WIbQ1DqEDsZmhrMb9WXO6zyDFpFL9AKuLX6voc1EkA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1697

[ {
  "id" : "4720835a-f221-4b92-bae2-0e17af5c2222",
  "identityId" : "944946fd-e23f-4b88-bc8c-558e8df5e979",
  "resourceActionId" : "45ccb1e4-9fdb-4395-84a1-1411610ec4d4",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:49.640652Z",
  "updatedAt" : "2024-04-05T12:32:49.640652Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "type" : "io.netfoundry.auth.domainv2.identityresourceaction.IdentityResourceAction",
  "_title" : "Grant Create Service Identity, All to identity 944946fd-e23f-4b88-bc8c-558e8df5e979"
}, {
  "id" : "a039669e-e4fe-4ce2-a953-48ba27c64a01",
  "identityId" : "26690eb4-92e9-4ed0-acbe-6e26564eae99",
  "resourceActionId" : "046dc13a-4b4f-438e-916d-6cd93692d95b",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:50.983573Z",
  "updatedAt" : "2024-04-05T12:32:50.983573Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "type" : "io.netfoundry.auth.domainv2.identityresourceaction.IdentityResourceAction",
  "_title" : "Grant Update Organization, All to identity 26690eb4-92e9-4ed0-acbe-6e26564eae99"
}, {
  "id" : "6a7c460e-ec4d-42ab-a9d6-e00143ff33a6",
  "identityId" : "0ed768fa-7214-4404-8335-a715156dff45",
  "resourceActionId" : "ecb276a4-0c85-415d-87e7-4ae3a3620e27",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:51.392110Z",
  "updatedAt" : "2024-04-05T12:32:51.392110Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "type" : "io.netfoundry.auth.domainv2.identityresourceaction.IdentityResourceAction",
  "_title" : "Grant Read Host, All to identity 0ed768fa-7214-4404-8335-a715156dff45"
} ]

Get Identity Resource Action

GET /identity-resource-actions/{id}

Authorization

This endpoint requires read action on the identity-resource-action resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

The id of the identity to whom this {@link IdentityResourceAction#resourceActionId} has been granted.

Must not be null.

resourceActionId

String

true

The {@link ResourceAction} that possession of this {@link IdentityResourceAction} grants to the linked identity for resources under the specified path.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link IdentityResourceAction} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link IdentityResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link IdentityResourceAction} was deleted. This will be null for an {@link IdentityResourceAction} that has not been deleted. If this property is not null, then the {@link IdentityResourceAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/identity-resource-actions/1d00a2c7-9390-472e-a542-15ef9ab314ea' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJ1U2hwUjV5clBEemYwVTdJdG43MV93IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjJlNjA4YTJhLTlhMzctNGQ4MS05ZjFmLTViZGU5N2I3MzVlMCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MiwiZXhwIjoxNzEyMzIzOTkyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNDRlNTZkNDItMGMzZC00ZGM2LTllNjAtNmVhMmVjZTdlOTBhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.KHWG7IbyrJNSNyGss7nk-SXQauoXePz15baUX4b-Z9r70BDZ7sJLi92hAmR9Gt2f4h3-7_KZ55ciAtkSeqLT4SyzX4nOT7TPmubdqeop2ftncnkOrRvUrZ1ygEv62w5E4HKpyBG9ywQa8VWXp1dzBt1zxC-_uA-V-pys2sme91pcKEiti9qj1NS9sXg22iMY22aD8aGDXTYbC83_4Ko4hTGxbw5LUTrUOAeNwODhZ74Vrbi7JgQc4mz3JHcNtv1tzDxtx0x8Ko8AyRjh-22_Q9AL3pFhM7anXuZne8X6z-g58kvB-FeTR-1QN2wbjtxuld4H-sKwfWWMT88lnVm-mA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 751

{
  "id" : "1d00a2c7-9390-472e-a542-15ef9ab314ea",
  "identityId" : "d1fc7e39-56b3-40a9-8417-77d5ef196a90",
  "resourceActionId" : "5d386829-4d1d-46fc-8f34-19a2665ba8f9",
  "createdBy" : "7a1bb54d-5140-4f72-88d3-61d4479be335",
  "createdAt" : "2024-04-05T12:33:12.177596Z",
  "updatedAt" : "2024-04-05T12:33:12.177596Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "95ed9e0a-4e06-41b5-8e7e-0e45cc5155d8",
    "resourceTypeId" : "0285921c-fa29-46a5-a730-89b82edb08ae"
  } ],
  "type" : "io.netfoundry.auth.domainv2.identityresourceaction.IdentityResourceAction",
  "_title" : "Grant Test Action 5 Test Type 4 on/under Test Type 4 95ed9e0a-4e06-41b5-8e7e-0e45cc5155d8 to identity d1fc7e39-56b3-40a9-8417-77d5ef196a90"
}

Create Identity Resource Action

POST /identity-resource-actions

Authorization

This endpoint requires the following actions:

  • create action on the identity-resource-action resource type

  • read action on the resource-action resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

identityId

String

true

Must not be null.

resourceActionId

String

true

Client must have read action on the annotated resource.
Must not be null.

path

Array[Object]

true

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

The id of the identity to whom this {@link IdentityResourceAction#resourceActionId} has been granted.

Must not be null.

resourceActionId

String

true

The {@link ResourceAction} that possession of this {@link IdentityResourceAction} grants to the linked identity for resources under the specified path.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link IdentityResourceAction} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link IdentityResourceAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link IdentityResourceAction} was deleted. This will be null for an {@link IdentityResourceAction} that has not been deleted. If this property is not null, then the {@link IdentityResourceAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/identity-resource-actions' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJ0WFRIQjJaRFJmczVpRjUtR29BRUtRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjUzNTgyNTZhLTI0MTEtNGM5OS1iYjg4LTcxOGYyZmU4NThhMiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MiwiZXhwIjoxNzEyMzIzOTkyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMjU0NzY2ZTUtZmYyNy00MDUzLWFiMmEtMzdkMGU2NmJmZDliXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkyfSx7XCJpZFwiOlwiYzgwOWM0MDUtZDYyNy00NzVjLTgzMTQtMmI0ZGQwMmQ5MjQ3XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.cabXtdnBwJEgMbrOVSP_N4zH2z3HmtywdogVg7PYRn5jl44Het-scthY3QkFxBCjuulr0YRkdgOg7tm4RiyUrsyfoPe34LBmOQzmwDdc43kLBHOtBWPyFGTfUxJDuUQmF2urnoVLVkQNRwcpTDmdwdQsKLD-f7Q_5lvUFH3oWcxfAUcWNXUcxps3_y6ENUOuXocU08pm1-Wz62ADZCMjvvUVUZyWDoRfGhBEpjq226r3dy_DOhWFai1aVwBC4os19r2BRBiDlCM0EWdJNCeuCcEyykpvbUFi7XHk6iqaePoTrjqx-IJsrB3CpWYccovTK2zRn7gg1f2f3oWjTb9B7Q' \
    -d '{"identityId":"48573910-4e21-412c-a08d-7bf11e7ea071","resourceActionId":"3904dee5-88e8-4c4c-9e92-dfa4d320d3d6","path":[{"resourceId":"d5098345-e11a-4b37-87e1-93826febcbaa","resourceTypeId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"}]}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 745

{
  "id" : "7f0847d2-694d-4e61-968e-361fb3992089",
  "identityId" : "48573910-4e21-412c-a08d-7bf11e7ea071",
  "resourceActionId" : "3904dee5-88e8-4c4c-9e92-dfa4d320d3d6",
  "createdBy" : "5358256a-2411-4c99-bb88-718f2fe858a2",
  "createdAt" : "2024-04-05T12:33:12.630348Z",
  "updatedAt" : "2024-04-05T12:33:12.630348Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "d5098345-e11a-4b37-87e1-93826febcbaa",
    "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"
  } ],
  "type" : "io.netfoundry.auth.domainv2.identityresourceaction.IdentityResourceAction",
  "_title" : "Grant Test Action Test Type on/under Test Type d5098345-e11a-4b37-87e1-93826febcbaa to identity 48573910-4e21-412c-a08d-7bf11e7ea071"
}

Delete Identity Resource Action

DELETE /identity-resource-actions/{id}

Authorization

This endpoint requires delete action on the identity-resource-action resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/identity-resource-actions/df58c125-3e0b-4045-aa9e-2c43d2b98b57' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJlQ3VhSzNFbUU2aG5QRWE4UmZ3YkJBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImExMDhhYzFiLWZiMjQtNDNhZi04NWVjLTI2NmE5MzUxNmQxMSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MCwiZXhwIjoxNzEyMzIzOTkwLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiYmYyNmUxNWMtYjUzMi00NzllLTk5NzYtMzJhZDA5OTg1MmViXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkwfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.Fq5i0tBEuGdfg1YF2rS05pjuAP2FYk9xT8IPMcFXUHbVGeNE2_e608-GqS4MrAd0XH23EEyL2-TeEBDraj-cpohmTKECLlDPCN_PXL4huU_Ea9YL6pkY2CZMurWxojO9gt2ofLz7FBI-cPOA3oklqQgZrqvT5SSVANPKwFYhEcMw_eq6HN451-bIBAJIJ6SZilcipagPtnSLdMIH26HdMnWJzwcgdvpWUAUhMh5oteVfW_Qu_OkTynQvOA_6VH-P6LIkfWCtTOKqa6257LVwGIbkBN2lmBb7Gq8qPzrepHfTb_KMEhxmpGgF-p_hxOZz3OnJZkXTcAUOaJHHsQrxAA'

Example response

HTTP/1.1 200 OK

Custom Roles

Find Custom Roles

GET /custom-roles

Returns a set of {@link CustomRole}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceAction}s. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the custom-role resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

identityId

Object

true

Filters results to those granted to one of the specified identity ids.

resourceActionId

Object

true

Filters results to those that grant one of the specified ,{@link ResourceAction},s.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].name

String

true

The human friendly name of this {@link CustomRole}.

Must not be null.
Size must be between 1 and 256 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link CustomRole} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link CustomRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link CustomRole} was deleted. This will be null for an {@link CustomRole} that has not been deleted. If this property is not null, then the {@link CustomRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].type

String

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiIyTHpLa0hkOEhNRkR6a0VXa1g5al9RIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImI5YjI5Y2NhLWNkMWMtNDlkMy05ZWY2LTkyMTA5OTRmYTQxZCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZTE1NWIzYTctNTI5ZS00YTRiLThhMDUtOTVjOTI5YTM0ZjE5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.XlfqirWTlT8rggjcmgLCCyQWFfGj1F7XQqnXHbol4YV6GD3NnfF56dHWZ6GzF5-A23htyi7wLfZJcGSl8sZsdSATJ7d3tiohCyLpA1nKfiRS_OweCuEV5EjeG--CUgGj_Oio2o2ICulq6SNzenXkQ2QRQ7mYuU1sH05mrutb99lQyqKfoJokCX2T6D_RI2tLJSh3jwHigoMFsT_yCFnEefzKWMqp60wXwdGIhZySb9Oha7zY1qgwKQWpJ3BTo_gX9YT4OQdSj2uiUklmvBH1o2CTpVuNl9qkVtqGp1h0km4DrXkdg-8gaGq6NFB0qwAGamg-E1N87vJUcakXoCkqQg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1219

[ {
  "id" : "233ae92e-4b5d-4cab-9549-5d55fd1cbf6c",
  "name" : "Read-Only, ALL Auth Domain Resources",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:49.841449Z",
  "updatedAt" : "2024-04-05T12:32:49.841449Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.customrole.CustomRole",
  "_title" : "Read-Only, ALL Auth Domain Resources"
}, {
  "id" : "668720a0-531a-44fc-b196-4d3dbfba73eb",
  "name" : "NF Billing Admin (ALL Accounts)",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:52.645964Z",
  "updatedAt" : "2024-04-05T12:32:52.645964Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.customrole.CustomRole",
  "_title" : "NF Billing Admin (ALL Accounts)"
}, {
  "id" : "74a9a6c3-106c-40bc-acab-780c837ad8d0",
  "name" : "NF MOP Tests, Control Plane",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:50.213991Z",
  "updatedAt" : "2024-04-05T12:32:50.213991Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.customrole.CustomRole",
  "_title" : "NF MOP Tests, Control Plane"
} ]

Get Custom Role

GET /custom-roles/{id}

Authorization

This endpoint requires read action on the custom-role resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

name

String

true

The human friendly name of this {@link CustomRole}.

Must not be null.
Size must be between 1 and 256 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRole} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRole} was deleted. This will be null for an {@link CustomRole} that has not been deleted. If this property is not null, then the {@link CustomRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles/244612f9-f65c-4cbf-926a-e966c225c274' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJkZ3I3MUNhQXlKRUxfMUJjT1BLbjZnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjlhZDJjYmI2LTA3ZDItNDY4ZC1iOGYxLTI0OTIxYzFiNTE3YSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiOTNjZTc5MzYtOTBkMi00N2E2LTg3YmQtM2UwYTY2OWYwOWFkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.k1ZCkoyjUqgh9sMphEnXsEPRVzCXGzYwvTmOVUS4Pti3lbEWkkMXkvxhuophyJwXbBZg5fXBK-_Q_frVmyGLLrg9JX3h8AtCHDC-kCb1Y4lapjY1bea_utK7tLAlRI-UgYvtenL51HHCbPtGwRK_MKqOEG2x5Yna-YFF2U1NOXh81tw6V2lZMlQgu_e86cMIPyDeIGiDtZ0fCj2xGylhpBe5JO0ItphFzwKVLIaxcQwrMtO0h-WnAVizFu5pAdd3OZQ-mIc-4UfGI2XRIjjEftBJHPejPYgMXdiEZ-Bo7gnQBSNCvERx8ho-AfPV2GEoPQq_KD6rszfOLR2RMluRQQ'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 379

{
  "id" : "244612f9-f65c-4cbf-926a-e966c225c274",
  "name" : "Test Custom Role 49",
  "createdBy" : "b0aad363-4f91-41e0-bcc5-34df0736a13f",
  "createdAt" : "2024-04-05T12:33:21.143269Z",
  "updatedAt" : "2024-04-05T12:33:21.143269Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.customrole.CustomRole",
  "_title" : "Test Custom Role 49"
}

Create Custom Role

POST /custom-roles

Authorization

This endpoint requires create action on the custom-role resource type.

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

name

String

true

Must not be null.
Size must be between 1 and 256 inclusive.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

name

String

true

The human friendly name of this {@link CustomRole}.

Must not be null.
Size must be between 1 and 256 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRole} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRole} was deleted. This will be null for an {@link CustomRole} that has not been deleted. If this property is not null, then the {@link CustomRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJoSzR3TWtnN2toc1VtLTZGbldxR0lRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjY2ZWUzYWE5LWZlZTMtNGVmZS1iOTRiLTYyNmZkNmYwODZhZiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiYzAxNDNlMjItYWZmMy00YjBlLTlmYzUtNDViMjRmNmZmMmM0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.B3SBsPUqnSmEO70nQu7NA8K6hWWvOV187lEBWT_282YK1RI4cwQXrRwM8r7jb4WxGKDh1ATgcb3OvNGhnBmY2fuRED23ZtM_61RxbfJc5EOfU8cvmHmyZRCIAvHA9KuO6BdGKvgrdYfJumjlPoJy5a23YPlfdWjmrmZqOT_mJWibhXwmmxJXdxJrvbyqJ8XkGYkYi_AFhxX6v_PMNKlKUvEcXbV9lhH-XFJuhAwC-MyuVSIN0grss00ss3-1BHu4xlKckWXzP82ul3EXkg8nSP5UPDaOEZccG_ZQABLPTsppw3B3uyErQZtuzYYE7wwY9xaxpQ7Kbj-va_ch5hHgUQ' \
    -d '{"name":"Test Custom Role Create"}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 387

{
  "id" : "8fa16f06-891d-4578-ac65-19bf0763c462",
  "name" : "Test Custom Role Create",
  "createdBy" : "66ee3aa9-fee3-4efe-b94b-626fd6f086af",
  "createdAt" : "2024-04-05T12:33:21.627324Z",
  "updatedAt" : "2024-04-05T12:33:21.627324Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "type" : "io.netfoundry.auth.domainv2.customrole.CustomRole",
  "_title" : "Test Custom Role Create"
}

Delete Custom Role

DELETE /custom-roles/{id}

Authorization

This endpoint requires delete action on the custom-role resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles/343360a5-a4f5-41a0-9284-bfca0850777c' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiI0TXVwX0hXZ2EwaXlucGhueG5jRzdBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImJlNjA0N2I0LTk4ODctNGJjOC05MThjLTQzMDE4NDFiZDAzYyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiYjc3NWQ3MzYtYjQ2OS00ODJjLThlOTktY2ZmMzIxMDkyMTFlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.LrA-kOEADsCBzdjbgWsizq5ju_v6WA8c-ccRoJ11HABctJXjtwNdr-I1cyUpotVqU2--0_rLpthlUc2cfanY20l91E2LPMukGI_7_S9WAGT6mdi-NmxEhWnlsq9s6n7uZjQyNmwySjJF2dJiBEBzUBYf8bR3u_2zKLbOqlkAjs9Ks8wORUilQqN0gU2UgGeHuR1MC-MFQVZfrdjgOPmAqsMWiNZgnHJs6oMfvXlDFQpTOTVOZqGT0zCGocigG88w9DgvIovvg-ljF_nc2YEJh5GroSs4XouJm4Jubt6Ls748HAaaJU_nJ0VTx9DZv7xlla9FkQjDTX-wR35NnetZTw'

Example response

HTTP/1.1 200 OK

Grant Custom Role (deprecated)

POST /custom-roles/{id}/identity-grants/{identityId}

Deprecated.

Deprecated. Use {@link CustomRoleGrantController#createCustomRoleGrant} to grant an identity a standard role.

Authorization

This endpoint requires the following actions:

  • read action on the custom-role resource type

  • create action on the custom-role-grant resource type

Path parameters

Parameter Type Optional Description

id

Object

false

identityId

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles/1212bf25-ce5d-4725-93d0-d426ff302916/identity-grants/96f53f5c-ad5f-4e7e-b2ce-cd0428211cda' -i -X POST \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJCMGpQcEdENDdRSVJReHJlSThWbTR3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjI2Nzk3NzBlLTRmZjUtNDA3ZS04NTEyLWJmZDU0OTNiMTM4NSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMDY1YzEyNDgtODI1Ni00M2Y3LWE4YTctZjVmMTNlNWI3N2ZjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfSx7XCJpZFwiOlwiMmFiNjViYzMtZTk2Mi00MDIxLWI4N2UtZDkyMDI1NWI5MDVkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.JCzK3D42uAoWm3v1_Rhtya5onjI8f0S55LVOAgYMlZvSOdLZxjsxOk-9-S7g8QMFmFtFJ27jpYEk3pEKSqDFxM4FgrT_9x9YBFDR6ROYR1A5tuZ3nIDFUEXaWGGHm8kHay8Rk6hWpMJWrwEdIk_EyeZnWuIk4HQRNRwVoAqja7AgyCh8HcCFmlPe8wR2vI-j2COXPmpLCwpI3eeNJvJCoul0XD9Py5H6WYoNcITgI99cq_gkKxRdwcSVcNXCOBrXmPRb6NE8X0IoIZfH71qX0TaeXGmdIaTAvWlhmrocWv_RZ2hxgeEWBbO8igG9A37Kgj3zsv8lhXxiBg3yrkubOA'

Example response

HTTP/1.1 200 OK

Revoke Custom Role (deprecated)

DELETE /custom-roles/{id}/identity-grants/{identityId}

Deprecated.

Deprecated. Use {@link CustomRoleGrantController#createCustomRoleGrant} to grant an identity a standard role.

Authorization

This endpoint requires the following actions:

  • read action on the custom-role resource type

  • delete action on the custom-role-grant resource type

Path parameters

Parameter Type Optional Description

id

Object

false

identityId

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-roles/7a37032b-134c-44b2-8a0d-03a0e1098127/identity-grants/2f868c7d-193e-4837-87fd-5957fc97e68b' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJkYU00UkNKRmpuZ1dXWHdZUVlReGZ3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjBjM2IzNzRjLTBkZTgtNGMwZi05ZDk0LTA3MDRhZGNiZDk2ZCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMzc5YTg4NjQtOGMyYS00NDgwLTljYzYtOTc1M2NjOTFhZWZiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfSx7XCJpZFwiOlwiZDliOGMxYWItYzAxZC00NWJlLWFjNjYtYjgwOTEzMmJjMTI2XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.h1NMasBXv601mErQjWOlPCRC5k7Q8OrkXq8TuN8omUFZvUrqQjwqOTTbq5RX-UF2k5z_EsxieXiRoFb_GwdQHe1EUIxb1QJc_tc11LW9Vc_HlQ4_xIk_ByFcAlxBoRHRP-7SWEXjFrXSEXGBFCCXVFaAjyk5RGwob57FiMd11bqdsxKJr0NSAK4ACbItZcaWn5lKgttqLRqXl1Rp0QziRfEYUNdIon0MZ93w_IuZb2R8_uDr44ZLySI1sZEan_lqqKMgJ1qL5xYGyYlSJpV7xCJAjYRiWTwuV4CiDpM_edcnXdWNmfyb_3W2MYa9ZHd1gbnnsB4katmahF3EvhOleA'

Example response

HTTP/1.1 200 OK

Custom Role Actions

Find Custom Role Actions

GET /custom-role-actions

Returns a set of {@link CustomRoleAction}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceAction}s. For example, if the path is to Network X which is under Network Group Y, this would restrict the results to {@link CustomRoleAction}s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.
The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the custom-role-action resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

customRoleId

Object

true

Filters results to those from one of the specified ,{@link CustomRole},s.

resourceActionId

Object

true

Filters results to those that grant one of the specified ,{@link ResourceAction},s.

path

Object

true

Filters results to those that target any resource along the specified path.,
, For example, if the path is to Network X which is under Network Group Y, this would restrict the results to ,{@link CustomRoleAction},s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.,
, The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].customRoleId

String

true

The {@link CustomRole} that this {@link CustomRoleAction} belongs to. This {@link CustomRoleAction} should be granted to any identity that is granted this linked {@link CustomRole}.

Must not be null.

[].resourceActionId

String

true

The {@link ResourceAction} that this {@link CustomRoleAction} confers to the identities that hold the linked {@link CustomRole}.

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link CustomRoleAction} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link CustomRoleAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link CustomRoleAction} was deleted. This will be null for an {@link CustomRoleAction} that has not been deleted. If this property is not null, then the {@link CustomRoleAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

[].path[].resourceId

String

true

Must not be null.

[].path[].resourceTypeId

String

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-actions' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJSVkxVSEdVRWxkTUR2d05DMllXNHZRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImNhZTczOWYwLTQ0NzMtNGE4OS04NTYxLTZhN2ExODljNTZiNCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OCwiZXhwIjoxNzEyMzIzOTk4LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiOTljNjhjZGYtNGU3Yy00ZGY5LWEyOTMtN2YyZTZlODAzZWE1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.GAq0mGDse9Aoay_-9FXYtJL5MD0HR7-f699lTu5VaqQjTZyBC1NPfYyfR5gNlMo2KIXOVkKxxk-VAgdQEfI4jrgSl2FSKNOViYM6FzqwqaDcew-foC7VUMzIMFCuz-xc_ReHR1gGV452Dwju97M1RvKZ7VioMwcykf5TERQmNKzYZDTuVDzpHjcBYVTttYpSfcI5BarmnmvyxZ4m3PF1kgvGHUXw97Uumvp4kimqArorEIf0sMun9oWndFtTKFhIUAeX0_9r_6lHhgFZ5DeSa3uhstI0QKYBleppZ3gZiKZ8SwmdgaicWymVviZHx7km6OAgigBME6yjiJ9xo6OVHQ'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1277

[ {
  "id" : "1644ce4a-1816-4303-9f20-c12443c1b614",
  "customRoleId" : "97315ed6-2fc7-4a40-b7ea-abe53cc6a188",
  "resourceActionId" : "e2ee4603-ddb7-4561-9d36-62f9434ca250",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.794382Z",
  "updatedAt" : "2024-04-05T12:32:53.794382Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "_title" : "Read Transfer Node Pool, All"
}, {
  "id" : "2fcfa752-cb28-4d74-af1a-ab5828f367f8",
  "customRoleId" : "97315ed6-2fc7-4a40-b7ea-abe53cc6a188",
  "resourceActionId" : "36af7bb4-d188-4bc5-bd8b-947d087bceba",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.797995Z",
  "updatedAt" : "2024-04-05T12:32:53.797995Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "_title" : "Update AppWan, All"
}, {
  "id" : "b415cf03-e0ba-42e8-9c41-27451d197d1d",
  "customRoleId" : "665bf926-a4de-4a65-a59e-1206e0ff6fcb",
  "resourceActionId" : "20a78484-18f6-4cab-8c8c-8f0672793220",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.188007Z",
  "updatedAt" : "2024-04-05T12:32:53.188007Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ ],
  "_title" : "Update Resume Host, All"
} ]

Get Custom Role Action

GET /custom-role-actions/{id}

Authorization

This endpoint requires read action on the custom-role-action resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

customRoleId

String

true

The {@link CustomRole} that this {@link CustomRoleAction} belongs to. This {@link CustomRoleAction} should be granted to any identity that is granted this linked {@link CustomRole}.

Must not be null.

resourceActionId

String

true

The {@link ResourceAction} that this {@link CustomRoleAction} confers to the identities that hold the linked {@link CustomRole}.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRoleAction} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRoleAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRoleAction} was deleted. This will be null for an {@link CustomRoleAction} that has not been deleted. If this property is not null, then the {@link CustomRoleAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-actions/8f93a639-7e3e-4c26-b5d2-82fe6b229762' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiIyRnFsRTZjcnpzODdvQUk5NnhXYnBnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImZjYTdkMzI3LWQ5Y2UtNDUwNy04ZTc5LTJjMTgwMWYwNGNjYiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OCwiZXhwIjoxNzEyMzIzOTk4LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMWQ0MzhjYmUtYWRkNi00NDM3LWJiODItYjczZjRhOTBlZTgzXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.CVo3FEYokYaxXCBqs5zLdXBX5UCUsw8dCa5tGObSsF40y8IFdDjQEaoYYxV1kjrmDpv68RJnlXnN7556BNdAybqPDIlZu_Y8qLOWmlNRB-7bhpf_cY2ClXzUlGbC47OP6CLjYaoqcCR2LKtbWIbCeTGmmijmXQZbXI4Ngnj-dfjs_xinJIeQvujqFXSpjNqmnx_qVhwcTsmPfNNkRtFPn0JbJDRXZVCfS6a4xjlOiHJeRUDP-RtpXlLMB9uE9NHcCiBhcmDDOTAKDky8zuTVhdeHUt8BrOl3BuukvRGhDhg7_wpYcfJsSs1AxKqmOOAFccvNs-1ymbhz1eRaI0z2HA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 613

{
  "id" : "8f93a639-7e3e-4c26-b5d2-82fe6b229762",
  "customRoleId" : "cbc68b51-c0a3-4458-8b8a-8a755f961072",
  "resourceActionId" : "b7803e7b-c0c3-4bca-99d2-6bc74dae2ce6",
  "createdBy" : "99651a09-884f-4143-a467-ff840e0417a3",
  "createdAt" : "2024-04-05T12:33:18.667480Z",
  "updatedAt" : "2024-04-05T12:33:18.667480Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "dab1bd9b-5367-4834-900d-bf0219b88c5c",
    "resourceTypeId" : "c77eecb6-9f16-4e90-b30c-ae830e8827d2"
  } ],
  "_title" : "Test Action 35 Test Type 34 on/under Test Type 34 dab1bd9b-5367-4834-900d-bf0219b88c5c"
}

Create Custom Role Action

POST /custom-role-actions

Authorization

This endpoint requires the following actions:

  • create action on the custom-role-action resource type

  • read action on the custom-role resource type

  • read action on the resource-action resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

customRoleId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

resourceActionId

String

true

Client must have read action on the annotated resource.
Must not be null.

path

Array[Object]

true

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

Response fields

Path Type Optional Description

id

String

true

Must not be null.

customRoleId

String

true

The {@link CustomRole} that this {@link CustomRoleAction} belongs to. This {@link CustomRoleAction} should be granted to any identity that is granted this linked {@link CustomRole}.

Must not be null.

resourceActionId

String

true

The {@link ResourceAction} that this {@link CustomRoleAction} confers to the identities that hold the linked {@link CustomRole}.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRoleAction} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRoleAction} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRoleAction} was deleted. This will be null for an {@link CustomRoleAction} that has not been deleted. If this property is not null, then the {@link CustomRoleAction} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link CustomRoleAction} targets. For example, if this {@link CustomRoleAction} is "Update Widget Service" then this property defines the (id) path of/to the "Widget Service" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to the {@link ResourceAction#getResourceTypeId()}. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-actions' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJtUnNfRE1wVUo5anBoSzAzcElJRVl3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjU0ZTFkYjg4LTQwN2MtNDYxNy04ZGI4LTY4OWVkMGZhZDEyMyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OCwiZXhwIjoxNzEyMzIzOTk4LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZjViOTQyNWEtYWM2Ni00YjJkLTkwNzEtYzZiYzE4ZTA4ODJjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fSx7XCJpZFwiOlwiYzNjZTFiNDAtOGJhMS00ODJkLTk5OWQtYTEwNmI4MDQ2ZDJlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fSx7XCJpZFwiOlwiMDg2ODMzMGItN2VkMy00NGM1LWJkMGUtMzhiYmQwMDdjMDBhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.BGQMr3p8ZJU-P7wjZ5w8DlCmubgJEjPh0yJz0-QG7t54y68xS6EGrALqgyFBi17Ucv3Okwlnjst_djHsEKRNnVFhaqBwGFxQuPWkUiCnTE1UslxliFcKM9YB-GUARiNMHUZDHpd-bk5P2-n1TmQoL2sRfhylrBHHpUgjeytrixpy7oL_y6wVP5mM1skUPA1nYQe3jnM2pajJiseehLMkMlWzfXubi6rqqz6k8ZK3gp2Iwvy82kwQ4Tpdb3cRzD6ncmO2j7wrXRtTL41sM5Iu5lKa4pmm0IE049nEVKDmpaflJ-mWtg6W2bRXRaudBAbykBEs3zXHkal-P6ArH4Jp9Q' \
    -d '{"customRoleId":"dc41c738-caf1-4ce6-a3b9-babb2e38ad4b","resourceActionId":"3904dee5-88e8-4c4c-9e92-dfa4d320d3d6","path":[{"resourceId":"8bcf46a0-0411-424b-8936-eb9156d69eee","resourceTypeId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"}]}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 604

{
  "id" : "d34146f0-f4e4-48e8-8b62-3343ba5b7905",
  "customRoleId" : "dc41c738-caf1-4ce6-a3b9-babb2e38ad4b",
  "resourceActionId" : "3904dee5-88e8-4c4c-9e92-dfa4d320d3d6",
  "createdBy" : "54e1db88-407c-4617-8db8-689ed0fad123",
  "createdAt" : "2024-04-05T12:33:18.567238Z",
  "updatedAt" : "2024-04-05T12:33:18.567238Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "8bcf46a0-0411-424b-8936-eb9156d69eee",
    "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2"
  } ],
  "_title" : "Test Action Test Type on/under Test Type 8bcf46a0-0411-424b-8936-eb9156d69eee"
}

Delete Custom Role Action

DELETE /custom-role-actions/{id}

Authorization

This endpoint requires delete action on the custom-role-action resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-actions/de43f769-a374-42c3-af29-8bf629938967' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJhc0Q5UmxPZk9PQThidlRKZVFtdm1RIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjM0NzUxMzg1LTBjOGYtNDZjOC05YjUyLTM2YjNjODJlYjViNyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OSwiZXhwIjoxNzEyMzIzOTk5LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMGRjM2E0YmQtOGU5ZS00YTAyLTgxMjctOWUzYTI0OTg5YjA5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.N559-MguxDkRAK-YNwThFcm6dV030fk5PRjK5lARUaTUUnk0ypX-eCWNvNLIX8oKyRCJvcCXTz3OpRNrJF_c1BX5P0-5Q2n-d5rVEQRCZcoapGYYoMYVTeja6KtKi5QGk-NHlSVDxnip3dCK1j4U9ycJ7CM2796pfAfTeqKOV3P99QYSPU9tJpVdPlluaY0KZMzWJbtPjM51x8s462dPJzCznyheXXeU1OVzEg1xf2EHCSzPxWNlSM2awOzxTI7xbbOnxmNXdEfTehCQknZJBtPjCd54z1lFLzR-W1DxYXskiObwz71kkcQ9Y8GAqwNPcHClwD1eL_8KZoQus7DA7A'

Example response

HTTP/1.1 200 OK

Custom Roles Grants

Find Custom Role Grants

GET /custom-role-grants

Returns a set of {@link CustomRoleGrant}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the custom-role-grant resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

customRoleId

Object

true

Filters results to grants to one of the specified ,{@link CustomRole},s.

customRoleIds

Object

true

Deprecated..

identityId

Object

true

Filters results to those granted to one of the specified identity ids.

identityIds

Object

true

Deprecated..

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].identityId

String

true

Must not be null.

[].customRoleId

String

true

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link CustomRoleGrant} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link CustomRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link CustomRoleGrant} was deleted. This will be null for an {@link CustomRoleGrant} that has not been deleted. If this property is not null, then the {@link CustomRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-grants' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJHRXBiTzFsOTNjVThaMkFyV1NsZkV3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImI3YjMzM2RiLTRlZTAtNDAzNy1hOGE2LTljZGE4MmUwOWYzZiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OSwiZXhwIjoxNzEyMzIzOTk5LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZjljZTJhMzYtMzkzNy00OTdiLWE1NTItNDc5MmQyZWRhNzExXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.bEK3l6XPXgcjja7zoi_IizcIJZDkXY4wSNjk-qkLHk4KgNzqgbyNBez8S7Fx7d6hv_yG7fH9-AOAK0wiaDe3KC5DDOha4wN9hPUpEXfN77-zGKrYhLqky1cQtzkckQgJUwK9m7b27BFUS1Nu0jXi1E4vYf-tCzVmVMg82ufkIajVZPWOUyPFk456XSkGPPUCV_uSDUUc6MWVaZTAjH0FGspiQhyGkjlQGboAcrMUFAwlcfFNlYMZjYYBfvINt5lBut06fgqYT_LkC9D8Gz1ozqSHGgYpg8y0p3NR_h1a9dP-YQSnnSooJpbYgasNHjC2dlXzxjP4DIaJFQf0pjnhLg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1415

[ {
  "id" : "04c08ccf-662d-4d11-85f8-90e33efb4f90",
  "identityId" : "ee5fd55a-ed48-47b0-aa65-dd49be01750c",
  "customRoleId" : "233ae92e-4b5d-4cab-9549-5d55fd1cbf6c",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:52.621145Z",
  "updatedAt" : "2024-04-05T12:32:52.621145Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Read-Only, ALL Auth Domain Resources to identity ee5fd55a-ed48-47b0-aa65-dd49be01750c"
}, {
  "id" : "02ab2529-f5da-47cb-9041-f79cef475480",
  "identityId" : "8c86e52a-f2b1-426b-aca8-86dec4ebed48",
  "customRoleId" : "233ae92e-4b5d-4cab-9549-5d55fd1cbf6c",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.998097Z",
  "updatedAt" : "2024-04-05T12:32:53.998097Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Read-Only, ALL Auth Domain Resources to identity 8c86e52a-f2b1-426b-aca8-86dec4ebed48"
}, {
  "id" : "f73498a1-e442-4257-bc18-8eb214518286",
  "identityId" : "bc186704-9a24-4c84-a5f5-a756a17a67e0",
  "customRoleId" : "233ae92e-4b5d-4cab-9549-5d55fd1cbf6c",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:49.955620Z",
  "updatedAt" : "2024-04-05T12:32:49.955620Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Read-Only, ALL Auth Domain Resources to identity bc186704-9a24-4c84-a5f5-a756a17a67e0"
} ]

Get Custom Role Grant

GET /custom-role-grants/{id}

Authorization

This endpoint requires read action on the custom-role-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

Must not be null.

customRoleId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRoleGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRoleGrant} was deleted. This will be null for an {@link CustomRoleGrant} that has not been deleted. If this property is not null, then the {@link CustomRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-grants/636053b2-ae41-4804-8aa0-10df29db8c6f' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJacE5CdUszUl9ZcHZ5bkxSNzNNV3JBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImUzNmNjNmYyLTEyNzItNDhiYS1hYmZhLWI1OTMwMjJhNTk5NyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OSwiZXhwIjoxNzEyMzIzOTk5LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZDJjNThiOWUtNGQyOC00Njg2LTljYzYtYzQxZmMzNjBjZDY4XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.JCZEd8_84QM8qwLniW3-6bedK315PLpZgZNrwEkzMcP71IWnEAqGZhov2de9zyBXp0KzkwyWZB6rvbiXOCkKc-VugjGqXAcFUN1WDsDVJlMNvh-nQ0qXuFHpSJ2j9vl53pUQfHhdW-0fVg2W_ex4cn1um1Ahv81N0HIggG3o90kwzHWdtlTpP4nVvUoMwdKhvdHELj4LkVt8h8bVxtCYkJMbXlID1de026eYMKF3K6zTrP0HxbRBg727sJU_X_hFnuDBK1BEZZvg1bcS1HRdVngy34_0pqEckeqY34-04DDCQzSLCpx8Nd3xUi7eyCCG9el2R6mICY1-UdZO3b8wIw'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 452

{
  "id" : "636053b2-ae41-4804-8aa0-10df29db8c6f",
  "identityId" : "17f724dc-867e-4efb-9d79-ec15afbb54e5",
  "customRoleId" : "73140b3f-8814-4292-8fe0-772c4a851ee7",
  "createdBy" : "166f2406-9e6c-47cb-9321-9e78223ef8d1",
  "createdAt" : "2024-04-05T12:33:19.221505Z",
  "updatedAt" : "2024-04-05T12:33:19.221505Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Test Custom Role 40 to identity 17f724dc-867e-4efb-9d79-ec15afbb54e5"
}

Create Custom Role Grant

POST /custom-role-grants

Authorization

This endpoint requires the following actions:

  • create action on the custom-role-grant resource type

  • read action on the custom-role resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

customRoleId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

identityId

String

true

Must not be null.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

Must not be null.

customRoleId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link CustomRoleGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link CustomRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link CustomRoleGrant} was deleted. This will be null for an {@link CustomRoleGrant} that has not been deleted. If this property is not null, then the {@link CustomRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-grants' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJfU2lQRGsydno0SUxOaFR5U2t6ejdRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImJmM2MyNzM0LWEzNGItNGZmZS05OGMyLTJjODUzMWMzODAxOCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OSwiZXhwIjoxNzEyMzIzOTk5LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiYTE1ODQ4ZGQtZTZiNS00ZGFlLWE3NzAtZTE5NWY0Y2M1Y2M5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fSx7XCJpZFwiOlwiMTQxZTI2MzUtNjBmYS00YjE2LWE0Y2ItMWY2ZTRlNDBjOWMyXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.mbvajXaTLEOr-tu8BO3uazdiOoTYlDk8dsMhDBt_iMW6FRxTC9RsnIgHNuC6VLtmBlkH9da2Sz9yvZ2Du6sI6zHQ-2BpjhyJKoYYY4FLNKFl58K1Iq3vjxKia-FdhnF9O0GrXbq5IGpcDttLBjoHb8rl7TNvaSUB4jHcIplRGXCo8oLpPVr-dh1EvVbpoQuRjLHGgcKspwuvKtJEBCtltInO2AMiO5xvsnvF9U4F8Wpbt0O13TQvYJA_Tiq-TbijNU8KnUK-xGv8zET-iAgkl2Z3QyATSv25auOU8bHp1_oO7g-DRWFqHEO-JpiwJ0Lp4aKotVzb1o5rbenVYPuMqQ' \
    -d '{"customRoleId":"b26ae464-7711-4041-a6ae-2486a3f0ead2","identityId":"ff5695f3-b829-44cf-900c-334435d703ed"}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 452

{
  "id" : "6688bab0-1dbc-469a-b269-1edec4523fe5",
  "identityId" : "ff5695f3-b829-44cf-900c-334435d703ed",
  "customRoleId" : "b26ae464-7711-4041-a6ae-2486a3f0ead2",
  "createdBy" : "bf3c2734-a34b-4ffe-98c2-2c8531c38018",
  "createdAt" : "2024-04-05T12:33:19.677391Z",
  "updatedAt" : "2024-04-05T12:33:19.677391Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Test Custom Role 42 to identity ff5695f3-b829-44cf-900c-334435d703ed"
}

Delete Custom Role Grant

DELETE /custom-role-grants/{id}

Authorization

This endpoint requires delete action on the custom-role-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/custom-role-grants/27e0b806-2d32-4a63-b230-d58cd37fe3b5' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJZc05xdVozSERmR0ExR0JEOHI4RFB3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjMzMjNiMmMxLTcyNjAtNDNhYS04MGRkLTA4NWIzMDcyNDIyZSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OSwiZXhwIjoxNzEyMzIzOTk5LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNGExNGU0ODEtZTFiYi00M2YzLTkwOTYtM2Y4ODJkMzY4OWFiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk5fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.Sd5xLxfNDojxHrrFXSx7AkMpHOOgOXrHnVdeked16q87wBoXcihm2ZZMV0xNcMWCsg2pLSrPXZ7zY3MvcdkBT_AhXYvnOje4II4ovrnCwrj2FGSu0XIikiFsBzBEr98B2Qyl6lKoOXqbWgGy9j1fumfcI03nUhZxsFsf6CBabsThnYyA4nyIp92wa55-VaGEWzi8NJgHFZMzUo8IQvyLTjJ_xigpjdg-Gs9eN_v9KT64zILyKGvNTxW05s9mRf-zb2UVke4Y9Qby_KP3zWyJ3L9uyTg00Tihj0NB_jCsZIvWq9UGzIvLptEI70MASPaj0IxDL7l655H_FFifJNJLtA'

Example response

HTTP/1.1 200 OK

Standard Roles

Find Standard Roles

GET /standard-roles

Returns a set of {@link StandardRole}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link StandardRoleType}s. identities. resources.
For example, if Network id X is passed, this would restrict the results to instances of a Network X Standard Role, such as Network Admin of Network X, Network Read-Only of Network X, etc. This would exclude Network Group Standard Roles, even if the Network Group contains Network X. For example, if the path is to Network X which is under Network Group Y, this would restrict the results to {@link CustomRoleAction}s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.
The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the standard-role resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

standardRoleTypeId

Object

true

Filters results to those that are of one of the specified ,{@link StandardRoleType},s.

identityId

Object

true

Filters results to those which have been granted to one of the specified identities.

resourceId

Object

true

Filters results to those that specifically target one of the specified resources.,
, For example, if Network id X is passed, this would restrict the results to instances of a Network X Standard Role, such as Network Admin of Network X, Network Read-Only of Network X, etc. This would exclude Network Group Standard Roles, even if the Network Group contains Network X.

path

Object

true

Filters results to those that target any resource along the specified path.,
, For example, if the path is to Network X which is under Network Group Y, this would restrict the results to ,{@link CustomRoleAction},s that grant an action on any resource under Network X, an action on Network X itself, or an action on Network Group Y. Combine this query parameter with resourceActionIds to limit the results to the types of actions along the path that are of interest.,
, The path value must start with a domain code followed by a colon. It may then have a comma delimited sequence of colon separated resource type code and resource id pairs. The path structure must match that of the server defined resource tree for the specified resources in the specified domain.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].standardRoleTypeId

String

true

The 'type' of this {@link StandardRole}.

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link StandardRole} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link StandardRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link StandardRole} was deleted. This will be null for an {@link StandardRole} that has not been deleted. If this property is not null, then the {@link StandardRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[].path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link StandardRole} targets. For example, if this {@link StandardRole} is "ACME Corporation Account Manager" then this property defines the (id) path of/to the "ACME Corporation" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to this {@link StandardRole#standardRoleType}'s resource type. Both must target the same {@link ResourceType}.

Must not be null.

[].path[].resourceId

String

true

Must not be null.

[].path[].resourceTypeId

String

true

[].type

String

true

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-roles' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJFMFFEcUFGWlpob0NrbWk3OGFIN0ZRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjJhNWFlMDQzLTYwYWUtNDlkMi04MDE3LTZlYmJhMTQ0NDBiYSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NywiZXhwIjoxNzEyMzIzOTk3LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNGFiZjk0MzgtNmMyYy00MWU1LWE3MjgtNWFmMGJjY2ZhMWJkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk3fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.RNfj4emJnaSvl2DXiHvb3AwyK7HLvzb9uBfHwJb4Yvqss7uZr2WHuvl4NZ_mNf2ZYCbEaIPzz51rcuzYunkDthGGiydJ2qnSy9323LKMbVK8PVV7IkWQUVZ4Li2y7LIINxtX0PuOqujyCeZCFdWrZ3BJdK40_IZci1RPE1vs4OVaGd8sffmIhfv3b-obePMYcrsOoWIkkeDNQ0pCuwUpn_2CQGykQ_qw4VZ-loXqwp97MwKr3UJSz7Ew3tUl5Q4EcoaegKLzH7V3ylijV30b6z3jIPoEOWGIypk7RPksNhkX_llGMMlRMzXkvlxJJdyHS-ZwlfZTf0b8g0cf0-nUYA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1794

[ {
  "id" : "efb77090-8648-4c99-a210-9701008e951b",
  "standardRoleTypeId" : "ae9d14d8-376a-455b-83a6-cdc345d7aa84",
  "createdBy" : "4309bf35-69a2-49da-90c6-d94cba705b05",
  "createdAt" : "2024-04-05T12:33:17.438441Z",
  "updatedAt" : "2024-04-05T12:33:17.438441Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "80896187-8d9f-4206-9169-8a30db7aa4e8",
    "resourceTypeId" : "219cd1e2-b7e1-42fe-be7d-a0ae59752313"
  } ],
  "type" : "io.netfoundry.auth.domainv2.standardrole.StandardRole",
  "_title" : "Test Type 24 Admin - 80896187-8d9f-4206-9169-8a30db7aa4e8"
}, {
  "id" : "10f179e2-6bbe-429d-958d-4f81f6c93694",
  "standardRoleTypeId" : "42030a66-c746-4cc4-b172-422d000cca9d",
  "createdBy" : "449694fd-e365-4071-85fc-5aa907302285",
  "createdAt" : "2024-04-05T12:33:17.740028Z",
  "updatedAt" : "2024-04-05T12:33:17.740028Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "a21ceaa9-faa1-445a-bbc2-f1cd3d3afc6a",
    "resourceTypeId" : "a5da96cf-5d63-4656-8bed-86cf6dcbe258"
  } ],
  "type" : "io.netfoundry.auth.domainv2.standardrole.StandardRole",
  "_title" : "Test Type 26 Admin - a21ceaa9-faa1-445a-bbc2-f1cd3d3afc6a"
}, {
  "id" : "cf53e966-a3ad-4e80-a5fc-380fe8d48e57",
  "standardRoleTypeId" : "39fc53d7-b50d-4596-a5f5-4c534c42b06f",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.844410Z",
  "updatedAt" : "2024-04-05T12:32:53.844410Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "f0428619-11bd-403d-8b00-a463ff8aad84",
    "resourceTypeId" : "7df70a1a-22dc-4c89-8bd0-f4704231125f"
  } ],
  "type" : "io.netfoundry.auth.domainv2.standardrole.StandardRole",
  "_title" : "Network Group Admin - f0428619-11bd-403d-8b00-a463ff8aad84"
} ]

Get Standard Role

GET /standard-roles/{id}

Authorization

This endpoint requires read action on the standard-role resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

standardRoleTypeId

String

true

The 'type' of this {@link StandardRole}.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRole} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link StandardRole} was deleted. This will be null for an {@link StandardRole} that has not been deleted. If this property is not null, then the {@link StandardRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link StandardRole} targets. For example, if this {@link StandardRole} is "ACME Corporation Account Manager" then this property defines the (id) path of/to the "ACME Corporation" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to this {@link StandardRole#standardRoleType}'s resource type. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-roles/efb77090-8648-4c99-a210-9701008e951b' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiItZUpMd1RZWm9taGhlaktHa2h0bnlRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImY1NTdjM2E4LWRhZjYtNDUwNS04NmZkLWRiOWUwN2NiNTc0NyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NywiZXhwIjoxNzEyMzIzOTk3LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiMGM4YWQ0NDAtZTdkNy00M2E2LWE3YWItMzI3NjJlYjJiMGFlXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk3fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.Ue7_I4vY4Jpwg4CN_uRV2lv82Q3-UEASOKN_M7L_L6e_op9PLAcfaccNEW3OPmLxpOZ_fMRoyT_4H9iUCsUTQCaARWvBZYiLd4KHWJpzOFRqnXoAQdaELgG1cNl4jLzWlEIIboQfmuWp5RH66aPHvLE0hebfNswgjfbO1HtIVw0VP0gA8qpHcA0hil5vD-l3EcCueFGaeXdhUK5NK5p2FNSznjlZuCfBLpP0t3dsTvIfwMaJAuqwVkElff9CYUu9ExzpXFZGoSZbUitJ5oCOguAmjGrSUW-m0ETReQc8abXegXN3fC-g-dv1FSP08RnfN8wKY7KyHQA4XvqGfDY28A'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 595

{
  "id" : "efb77090-8648-4c99-a210-9701008e951b",
  "standardRoleTypeId" : "ae9d14d8-376a-455b-83a6-cdc345d7aa84",
  "createdBy" : "4309bf35-69a2-49da-90c6-d94cba705b05",
  "createdAt" : "2024-04-05T12:33:17.438441Z",
  "updatedAt" : "2024-04-05T12:33:17.438441Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "80896187-8d9f-4206-9169-8a30db7aa4e8",
    "resourceTypeId" : "219cd1e2-b7e1-42fe-be7d-a0ae59752313"
  } ],
  "type" : "io.netfoundry.auth.domainv2.standardrole.StandardRole",
  "_title" : "Test Type 24 Admin - 80896187-8d9f-4206-9169-8a30db7aa4e8"
}

Create Standard Role

POST /standard-roles

Authorization

This endpoint requires the following actions:

  • create action on the standard-role resource type

  • read action on the standard-role-type resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

standardRoleTypeId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

path

Array[Object]

true

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

Response fields

Path Type Optional Description

id

String

true

Must not be null.

standardRoleTypeId

String

true

The 'type' of this {@link StandardRole}.

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRole} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRole} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link StandardRole} was deleted. This will be null for an {@link StandardRole} that has not been deleted. If this property is not null, then the {@link StandardRole} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

path

Array[Object]

true

The path (ordered pairs of resource type and id) from resource tree root to the target resource that this {@link StandardRole} targets. For example, if this {@link StandardRole} is "ACME Corporation Account Manager" then this property defines the (id) path of/to the "ACME Corporation" resource. The path, specifically the ordered list of resource types that it contains, is co-variant to this {@link StandardRole#standardRoleType}'s resource type. Both must target the same {@link ResourceType}.

Must not be null.

path[].resourceId

String

true

Must not be null.

path[].resourceTypeId

String

true

type

String

true

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-roles' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiIxdEN5U25RaTJhaV8zWnFDcS15ZWtnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjQ0OTY5NGZkLWUzNjUtNDA3MS04NWZjLTVhYTkwNzMwMjI4NSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NywiZXhwIjoxNzEyMzIzOTk3LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiYzUwZTgxM2MtM2NhZS00MzYyLTlhMmUtZjgzMDg5Yjg3MTFmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk3fSx7XCJpZFwiOlwiYzg2ZDYwMzQtZmI0ZC00NTJmLWEzNzQtNzFkM2YwNmY1Zjg5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk3fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.A5wGGC5sLLb5cmG7UHjxKaO2Eiw7r_yZR288MhqUVheqGymRHOkjg7m7CI3ruxgAR-O_DfeN_WWqFPJyJjFVwcaf67e3cUwhosSi8lcEZ324SWlBOADWOkwXGtIt5J9B0NXkwjp1cfg18XaGWWoHexJWu6vaHssC5CjaVMCj4UPWyqRyGU9iKwaodLw_P1nJWcqfjDoinRvYheogMkx1V3B6VlcC5PCJwZp_9B1nkQJvVuI8V1P3wj9O-qL7rVg3iZDuAhyI4daBllj4-daP9KHHAiRzqjZo8-6A0aljrh4NJ5wN06AYelhC7nwA8HdMUK95IaPtS3Xy3QepMZriLg' \
    -d '{"standardRoleTypeId":"42030a66-c746-4cc4-b172-422d000cca9d","path":[{"resourceId":"a21ceaa9-faa1-445a-bbc2-f1cd3d3afc6a","resourceTypeId":"a5da96cf-5d63-4656-8bed-86cf6dcbe258"}]}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 595

{
  "id" : "10f179e2-6bbe-429d-958d-4f81f6c93694",
  "standardRoleTypeId" : "42030a66-c746-4cc4-b172-422d000cca9d",
  "createdBy" : "449694fd-e365-4071-85fc-5aa907302285",
  "createdAt" : "2024-04-05T12:33:17.740028Z",
  "updatedAt" : "2024-04-05T12:33:17.740028Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "path" : [ {
    "resourceId" : "a21ceaa9-faa1-445a-bbc2-f1cd3d3afc6a",
    "resourceTypeId" : "a5da96cf-5d63-4656-8bed-86cf6dcbe258"
  } ],
  "type" : "io.netfoundry.auth.domainv2.standardrole.StandardRole",
  "_title" : "Test Type 26 Admin - a21ceaa9-faa1-445a-bbc2-f1cd3d3afc6a"
}

Delete Standard Role

DELETE /standard-roles/{id}

Authorization

This endpoint requires delete action on the standard-role resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-roles/ac2d895f-cf3f-46ea-9f46-c856e03a5c1c' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJCX2dybnptTERYZi1XOTlkcUNMVl9BIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImUwODFhNzdkLWQ2MWEtNDRjOC1iNDk0LWJkYjcwODE5MjUyZSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5OCwiZXhwIjoxNzEyMzIzOTk4LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNWE2MDVlNjYtMWNiYS00NWIwLWIzMDYtMDI5ZDgyMGQzNWU1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk4fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.j42rXFCZdTm0hsWl-2MhZ-53JZa84MMX0eazCBGk_We6rYmsNPio1glHrUAj18xR4IPrWkijIqwGAwRoAxOmkqHyU8ceaLIW_2DdzdIR5LI-hNdDoUOdnpiyXPzMlM3l-7N7m1o1BvNP3eVu-J5CYGMeKpQ_i8ItFzHdNMpZw7ua5HFMcuy9TW8Z4Y-6GvZHSLLruyttu0N0dBpRnQz2BAWPgIZt_9MYOpt7Wk6fj3JdkVsiAHLIA-uJ2r1RY1zMM1xiCRG9t9KxjMOd-xsW9jINAkpO_VaZx7OISXs-MGImSmgm8sx7YuJORv1jHsHb0Z-F1Oo4M4Gge0PiWySWCA'

Example response

HTTP/1.1 200 OK

Standard Roles Grants

Find Standard Role Grants

GET /standard-role-grants

Returns a set of {@link StandardRoleGrant}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the standard-role-grant resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

standardRoleId

Object

true

Filters results to grants to one of the specified ,{@link StandardRole},s.

standardRoleIds

Object

true

Deprecated..

identityId

Object

true

Filters results to those granted to one of the specified identity ids.

identityIds

Object

true

Deprecated..

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].identityId

String

true

Must not be null.

[].standardRoleId

String

true

Must not be null.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link StandardRoleGrant} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link StandardRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link StandardRoleGrant} was deleted. This will be null for an {@link StandardRoleGrant} that has not been deleted. If this property is not null, then the {@link StandardRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-grants' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJnTFA1WVhBRnNiQll3UW04LUtTQ2RBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImRlZmRlYmQyLWMyN2UtNGJkNS1iNWY4LWUyOGZmN2FhZjFlYiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NiwiZXhwIjoxNzEyMzIzOTk2LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZTJlODIwZDgtNjgwOS00NGQ4LThlZjItNzYzNDhlYTQ3MzViXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk2fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.BysblyGFnMk77Zs976p6iHplLJAxHb4NhEmCfDOLzVerXKrBsOkvfodTPMMy8ck8S6a7e-W37t1DZsme2e85rlqTD1pH7kWtLJvk2MvxYsfCsXY0MPQY-Nc2KppS_hbhephKmQdSYwJie33_g9LQMj9QSu_0jQUe7kM_D0huAoLLPkb9R-O_LQxddj9ImUNbgOT01B8q93_DZq1BLrF2NBCyyeWx-SPmEEjHC89KrX9aeWM0BtSDMXZd4cA-6YHPxi-NPOF9qpyFws_RUhjO4nMA3uudn70isKNvSfbAjj0OxoeQKtWPRKNgBTimxDM7QzuSgl2NL4NNoKlkSdV4bA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 496

[ {
  "id" : "a8d60566-b83d-4db6-972c-d468c3137739",
  "identityId" : "e016bbfe-4fe8-4e0c-be0b-113e2242b115",
  "standardRoleId" : "e45b6e09-ee06-4b09-98c4-54cb2778ef23",
  "createdBy" : "ca318d3d-b563-4418-8427-ae860f86f3bf",
  "createdAt" : "2024-04-05T12:33:16.283690Z",
  "updatedAt" : "2024-04-05T12:33:16.283690Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Test Type 16 Admin - a8127872-8d64-470e-b7ea-351df3d06434 to identity e016bbfe-4fe8-4e0c-be0b-113e2242b115"
} ]

Get Standard Role Grant

GET /standard-role-grants/{id}

Authorization

This endpoint requires read action on the standard-role-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

Must not be null.

standardRoleId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRoleGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link StandardRoleGrant} was deleted. This will be null for an {@link StandardRoleGrant} that has not been deleted. If this property is not null, then the {@link StandardRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-grants/218a3dba-079f-4584-887a-f5218ab243b2' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJIb1BlbEttLXR0VWgxS3A4MEJIZW9RIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjZjODNhNDQ0LTY3NGMtNGY0OS1iYTI5LWNjNDdkYzQ0NTRkNSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NiwiZXhwIjoxNzEyMzIzOTk2LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNzkzOWM0Y2ItODY1Ny00OTdmLThhNWQtYTIyMjlhNGFjNDgzXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk2fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.WEek2pAiiovypC3bolilEWJrDYn-pVkeflSL1AhSl9SLSnOedSBKbughIqVnXvrzMDP59rK2j74yE3QAuWMP5FCCmDXrLgHk4ceAIrdWjOCniVQgrVsw6dJoiMYHvE81a5dgK2JwNk4MBeF26vLZHDfTTb9RIFDpO-H9SrJwy8YKoRha7LogUujcLZx1GuqAqlKOxMDKHjWY2fFFDSDg97Hu2B4yvPhKTPqKUB5XKK3L3CIHJyRoORw96gcPEHQLTPhork2yW4IoQHVlsAR0gWXWvARN8ALjwDV6D_jhK7p1TNMObLJQtXaj9X8FurLOIyt7C3bcenEOEIo8qfsLJg'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 492

{
  "id" : "218a3dba-079f-4584-887a-f5218ab243b2",
  "identityId" : "2fcb3768-0d53-477c-af16-0008aa4d70ee",
  "standardRoleId" : "0b0aacc9-a0b7-4c99-a217-ce2fc1f2c9bf",
  "createdBy" : "0a94000d-6d3b-4821-9188-55a26afe09c2",
  "createdAt" : "2024-04-05T12:33:16.696440Z",
  "updatedAt" : "2024-04-05T12:33:16.696440Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Test Type 18 Admin - eb652f56-850b-4778-a494-efd2323e30f1 to identity 2fcb3768-0d53-477c-af16-0008aa4d70ee"
}

Create Standard Role Grant

POST /standard-role-grants

Authorization

This endpoint requires the following actions:

  • create action on the standard-role-grant resource type

  • read action on the standard-role resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

standardRoleId

String

true

Client must have create action under the annotated resource.
Client must have read action on the annotated resource.
Must not be null.

identityId

String

true

Must not be null.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

identityId

String

true

Must not be null.

standardRoleId

String

true

Must not be null.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRoleGrant} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRoleGrant} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link StandardRoleGrant} was deleted. This will be null for an {@link StandardRoleGrant} that has not been deleted. If this property is not null, then the {@link StandardRoleGrant} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-grants' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJGZ0NpR1BrejM2RmgtelkxeXktak9RIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImNhMzE4ZDNkLWI1NjMtNDQxOC04NDI3LWFlODYwZjg2ZjNiZiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NiwiZXhwIjoxNzEyMzIzOTk2LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNDcyMTE2ODQtMDcxNi00MjhiLTlkYTItODA2Y2FjNjJjY2VhXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk2fSx7XCJpZFwiOlwiNjRmNjY1NzItMWIyYi00MWZiLTllOTAtZTgzMTY2NDg5MTk1XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk2fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.QKvUnpwIHs1P7pQy-7T8aHPZKjqIqXtrTonMRCQ8f5-ID_dY4tAAVn6WHmgDRTMdyRvaoCkZ51Hr2jUc7nsMq060qcIFBDJpmCL8mYBekk9aAzA8tldRgj3ANApgewvTToExLnFvJ0tWP9bbJ-lLBQ5qJ5KmbqsGHFdu7sobHGM94DiUykaXEtxyesxpgiKXJBa6rwB9vPiQmeWJyekbNLDKd4WRZk17aq3y82qNvLlWEkLbaVFzMYf9EA8L85g4Ky00Izb-gAacwc2YAsA99TCRqfOD4iCFuO1XdmI_gRtT_6p2Zgz3SvuijjsTpwayeA_Se5jtLQfq_ZQyZlUgUw' \
    -d '{"standardRoleId":"e45b6e09-ee06-4b09-98c4-54cb2778ef23","identityId":"e016bbfe-4fe8-4e0c-be0b-113e2242b115"}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 492

{
  "id" : "a8d60566-b83d-4db6-972c-d468c3137739",
  "identityId" : "e016bbfe-4fe8-4e0c-be0b-113e2242b115",
  "standardRoleId" : "e45b6e09-ee06-4b09-98c4-54cb2778ef23",
  "createdBy" : "ca318d3d-b563-4418-8427-ae860f86f3bf",
  "createdAt" : "2024-04-05T12:33:16.283690Z",
  "updatedAt" : "2024-04-05T12:33:16.283690Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Grant Test Type 16 Admin - a8127872-8d64-470e-b7ea-351df3d06434 to identity e016bbfe-4fe8-4e0c-be0b-113e2242b115"
}

Delete Standard Role Grant

DELETE /standard-role-grants/{id}

Authorization

This endpoint requires delete action on the standard-role-grant resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-grants/06ec83cf-8fd7-4820-9338-35cea372dcc2' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiIzUWdvN3NhY2FEYUhhYlFZRFFZcFJBIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImUyYTg2NzAzLTk3M2EtNDhkZS1hNzM3LTVhYmEwNTI2ZDEwZiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NiwiZXhwIjoxNzEyMzIzOTk2LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNWU0NDJmNGEtZWJkYS00MzIwLWI2Y2UtN2RiMzg3MjgyYmI0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk2fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.gapltIz_o8SqDTowJH7unFlj7R65CVN-iSoZ-Oc0uVdxjkNz8Obt2WToKWge4pBYTTwW2bj6t1h-XQmk5v5eToU7JCTYKtwOpB6V7eYGjbyipdwScVmIMp2PqWXa2Kg8E2Z_Ngj4tp17_VggeS-icCWKyZJQOFqZ-O9vqmCuKWNYwXRwvkFtlESCZTAMe-wLE12OL_I3Z_mVckGN2Mc1Pk8hIzdPjAm9Rl7VsAqY74ksUDbddeyRzg8JBpCJEdmkGCNlRR2Zr-SNCJV6RfZTHfpIxX_17AYQ2oVgZzbrEzb4_6lkRyV94XuXMbYceqtlnN5vTMKZcUgE_u8laKMMLA'

Example response

HTTP/1.1 200 OK

Standard Role Types

Find Standard Role Types

GET /standard-role-types

Returns a set of {@link StandardRoleType}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

{@link ResourceType}s. strategies. by the specified {@link StandardRoleType}. In other words, all returned {@link StandardRoleType}s are logical sub-sets of the {@link StandardRoleType} specified by this query parameter.

Authorization

This endpoint requires read action on the standard-role-type resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

resourceTypeId

Object

true

Filters results to those that target one of the specified ,{@link ResourceType},s.

resourceTypeIds

Object

true

Deprecated..

authorizationStrategyName

Object

true

Filters results to those that are of one of the specified strategies.

authorizationStrategyNames

Object

true

Deprecated..

includedByStandardRoleTypeId

Object

true

Filters results to those whose actions are fully included by the specified ,{@link StandardRoleType},. In other words, all returned ,{@link StandardRoleType},s are logical sub-sets of the ,{@link StandardRoleType}, specified by this query parameter.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceTypeId

String

true

Must not be null.

[].authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link StandardRoleType} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link StandardRoleType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-types' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJtRDh1b0tTVEhuVHk5cTNXa05IMC13IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjMxNGI2MzY5LWIwM2QtNGVjMy04MDE1LTlkNDY0ZWM3MjZhNiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNmNmYTUyODgtMDc1Ny00MzY4LTg2YTEtZDU4MDc2OWVlMmJjXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.llLy0pKeA_VcMLeW16kBq3IDY7DTiwHZ5mayLzjYi_duKjj8S4Ru0mcuKObve1sUSklca5h-VnohJPcjjpVwzuxAZ68d3VQJryulemBCD-vGZSGw1zcRE4RS8HO9htpkEfAZ05meaoRbKAjgz71AcOsRoviTZNfjQGksAFiPY7gTAiu7uGKddtFKfbCvA86CSBgYDC2sqrCy0sktOTJ_ld_cK7mRyVJk3x5XEqFyOO_-0znEGJTo6511uwAbZ1bMSw3hxxh6K8jjJyZYN9qonNfK98ZewUehFxoL3BuViZQcgjARHUhtV28KPIOw2cwtiUCz7cO8FXWpw51m2UBPUw'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1019

[ {
  "id" : "3e4489d0-b6dd-4b58-a287-e5d3068d2ea0",
  "resourceTypeId" : "4a4978a9-9e3f-4421-954b-bb5e84eb7d73",
  "authorizationStrategyName" : "Admin",
  "createdBy" : "31ba8eda-a060-4aa5-9b97-00d13772f80f",
  "createdAt" : "2024-04-05T12:33:17.089509Z",
  "updatedAt" : "2024-04-05T12:33:17.089509Z",
  "_title" : "Test Type 22 Admin"
}, {
  "id" : "2746e8d1-9648-42a4-b4e0-3bb5c7cd2032",
  "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "authorizationStrategyName" : "Admin",
  "createdBy" : "f19cc54e-b0a4-48cf-bea2-006de174d4c1",
  "createdAt" : "2024-04-05T12:33:22.050524Z",
  "updatedAt" : "2024-04-05T12:33:22.050524Z",
  "_title" : "Test Type Admin"
}, {
  "id" : "42ef33aa-28e7-4bdd-af41-f934ed7a67b3",
  "resourceTypeId" : "8507d248-519e-4438-b928-7a0dfbeaa00b",
  "authorizationStrategyName" : "Admin",
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:48.985114Z",
  "updatedAt" : "2024-04-05T12:32:48.985114Z",
  "_title" : "Organization Admin"
} ]

Get Standard Role Type

GET /standard-role-types/{id}

Authorization

This endpoint requires read action on the standard-role-type resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceTypeId

String

true

Must not be null.

authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRoleType} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRoleType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-types/24b45d44-d940-4e83-a108-f872e6939bc3' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJXZ3cyaDAtdFRnc2tZU21Ka1JjaU93IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjA0OTBlYWI0LWFlYzYtNGQzZS1iNDFlLWQ2MjFjZjg5ZDAzNyIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMiwiZXhwIjoxNzEyMzI0MDAyLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNjkyMWM0ZGQtZmQzZi00ZmI3LWFiZDMtMTc2ZTRmOTQ5MDQ0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAyfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.ZSEUt_gxga-bUh_RAgJMnpramTByyrvZ3ImovQQiVq38DzT0whE_1sWE3cqTIzfY8r7XNi4GlYN_AYLAvm9dBPCfP9mCb_-nXvDAdHmNBq9FipBnBVPtgB-G981DwMUazmBlPJs8bh7NN0WB7bipQeuaKopYrzauElXaeQSWWBHYYTKTTG_zIRRWRi3YS46AFC0d4QXuyfLug6ZSeYyed5mHGQJHvpLRtWhTHLsGZWK18JIgoFH3gaqw0GzfFICp2GEmzOe_QvTgaZBTY6l8WsUZvxfTP5jvZfAQShVT5pYo8ZEgvP5OGNjZoPJLDnr4DOuLc3IdCYQaxtkn44gw2w'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 338

{
  "id" : "24b45d44-d940-4e83-a108-f872e6939bc3",
  "resourceTypeId" : "f2cadb70-4762-45d8-b78e-2d50608cd482",
  "authorizationStrategyName" : "Admin",
  "createdBy" : "f395d00d-2d92-464d-a77d-0c5544061957",
  "createdAt" : "2024-04-05T12:33:22.118526Z",
  "updatedAt" : "2024-04-05T12:33:22.118526Z",
  "_title" : "Test Type 54 Admin"
}

Create Standard Role Type

POST /standard-role-types

Authorization

This endpoint requires the following actions:

  • create action on the standard-role-type resource type

  • read action on the resource-type resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

resourceTypeId

String

true

Client must have read action on the annotated resource.
Must not be null.

authorizationStrategy

String

true

Must not be null.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceTypeId

String

true

Must not be null.

authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link StandardRoleType} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link StandardRoleType} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/standard-role-types' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJfQTk0NUxlWmJfN3dmUmRHYmh6Umd3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImYxOWNjNTRlLWIwYTQtNDhjZi1iZWEyLTAwNmRlMTc0ZDRjMSIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDQwMSwiZXhwIjoxNzEyMzI0MDAxLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjAyN2VmM2Y2LTVkMzItNDc3My05NTAwLTgxMWQ2YTg3NTMxNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDQwMH0se1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcIjE5ZDkwYWY2LTdiMjQtNDU3OS05ZDkyLWY5NDdjYzAyOWY3YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM5OX0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNzFhMjE4NGItZjQyMS00MjA3LTliZTgtN2YxOGU3MWM1Yzc5XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfSx7XCJpZFwiOlwiN2E5MDZkOWYtNzhjOC00Y2Q0LThlMGQtZmFhYjcxNzQ4NWQyXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwNDAxfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.QrWDkFW7EDG4jiU1aMxHWAAb7FKQOR8HrqTgCnAMhoPWPUOOO2jruPkioUkdlmv2jA6y8mNcXsmFrv44Lleqd6_TBeCJ3Ue-ZiDnj4PNoKeUCgHega3SB4L16MGtTgY-xUQ1oFd2zcq36X3NvBG8FWRFysyCSw87nKeCnIlk-gJR9BeeMmqncitve0T1cJF2ZrfKtYv61FgbQN2QKWBOghjHXug_XQKz4_biFzcLiBDiHbNf6ty2EAWcfuDBb98R_TpS2m2DDdpMU1KeTkxLw-gmBpYg0ZSNzumrukpMhN2meiQOZYhMHiz0rPtY59BEejUWtOlMmHtAviH2otDJlw' \
    -d '{"resourceTypeId":"1b171a23-4a45-48e5-b3bb-9c9eb94a46f2","authorizationStrategy":"Admin"}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 335

{
  "id" : "2746e8d1-9648-42a4-b4e0-3bb5c7cd2032",
  "resourceTypeId" : "1b171a23-4a45-48e5-b3bb-9c9eb94a46f2",
  "authorizationStrategyName" : "Admin",
  "createdBy" : "f19cc54e-b0a4-48cf-bea2-006de174d4c1",
  "createdAt" : "2024-04-05T12:33:22.050524Z",
  "updatedAt" : "2024-04-05T12:33:22.050524Z",
  "_title" : "Test Type Admin"
}

Resource Action Inclusions in Standard Roles

Find Action Inclusions

GET /action-inclusions

Returns a set of {@link ActionInclusion}s that the client is authorized to read and which match the specified (optional) query parameters.

If multiple query parameters are specified, then results must match each query parameter that is set. If a query parameter supports multiple values, then a result must match at least one of the values. In other words, distinct query parameters are AND’d while value matching within a single query parameter act as an OR condition. For example a query parameter "?x=1,2&y=3" becomes (X == 1 OR X == 2) AND (Y == 3).

strategies. {@link ResourceAction}s. only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Authorization

This endpoint requires read action on the action-inclusion resource type.

Path parameters

No parameters.

Query parameters

Parameter Type Optional Description

resourceActionId

Object

true

Filters results to those that apply to one of the specified ,{@link ResourceAction},s.

authorizationStrategyName

Object

true

Filters results to those that apply to one of the specified strategies.

isDeleted

Boolean

true

When true, returns only those that are marked as deleted. When false, returns only those that are not marked deleted. When not set, returns all those that are otherwise matching, whether they are marked deleted or not.

Request fields

No request body.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceActionId

String

true

Must not be null.

[].authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

[].includeWhenAbove

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is above the {@link StandardRoleType}'s {@link ResourceType}.

[].includeWhenAt

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is the same as the {@link StandardRoleType}'s {@link ResourceType}.

[].includeWhenBelow

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is below the {@link StandardRoleType}'s {@link ResourceType}.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link ActionInclusion} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link ActionInclusion} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link ActionInclusion} was deleted. This will be null for an {@link ActionInclusion} that has not been deleted. If this property is not null, then the {@link ActionInclusion} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/action-inclusions' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJVeFZob053SjQwRUdrUFRkLVhIeHpnIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjU2NGY5OTVmLWMyZWEtNDg3Ny05M2ViLTNlOWQ4ODE4Yjk5ZCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5MywiZXhwIjoxNzEyMzIzOTkzLCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZmUyNGNjZTYtMTMyMC00M2IxLThkMmMtZTdlNzYzODU3MjZmXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzkzfV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.FkPrGMW6sFs0zyV5Hstms39J05NrjRmN_m4qsHKNvtfj_I9ozWfZyp4jtN1NLHbQrRPEBDvd8B2HA-H4FDCE0FNIe1SXy2yeKp9EcVEeEGlAxGm3Li_nOop8idH6RVQM32gA5GSjiDaxEYxPRsiDA8oeIvHxwXzV3gxzqHJzfkFmo3tPGWKHf-oIWwQtYYhy00RirKuK0BD7FArc3uRDYa0hui1xna-vPPAvzTQLJpBoUwdSMwK5-kdY5caEe0OBfzrHIf0ifxmGaAmYNoK_RJN_bWtXkMDg0dVP2ZvkNC3mq5CAxQRnDB93gLC8auSr9uZaQrBt6Fe_qeCf8vD0iA'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1574

[ {
  "id" : "69053d5c-238a-4a2c-8412-2d36a51f9fa2",
  "resourceActionId" : "8406a89f-1ecc-4a03-b8a6-7c59fff559f1",
  "authorizationStrategyName" : "Contributor",
  "includeWhenAbove" : false,
  "includeWhenAt" : false,
  "includeWhenBelow" : true,
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:50.890408Z",
  "updatedAt" : "2024-04-05T12:32:50.890408Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Inclusion Rules for Create As Code Service in Contributor Standard Roles"
}, {
  "id" : "34e60d45-117d-4d9c-8c80-c5064d6e1359",
  "resourceActionId" : "6f8f307f-1b6d-4cb8-91e1-8cc30d8c8846",
  "authorizationStrategyName" : "Contributor",
  "includeWhenAbove" : false,
  "includeWhenAt" : false,
  "includeWhenBelow" : true,
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:50.150848Z",
  "updatedAt" : "2024-04-05T12:32:50.150848Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Inclusion Rules for Update Invitation in Contributor Standard Roles"
}, {
  "id" : "f65fae6f-5951-4f96-a7df-fd5fa9dbb838",
  "resourceActionId" : "6755d311-7850-46a2-aea5-52d5eaf53a1b",
  "authorizationStrategyName" : "Admin",
  "includeWhenAbove" : false,
  "includeWhenAt" : false,
  "includeWhenBelow" : true,
  "createdBy" : "0ab1b47d-a5de-4f39-a3bd-7b130cacf401",
  "createdAt" : "2024-04-05T12:32:53.591344Z",
  "updatedAt" : "2024-04-05T12:32:53.591344Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Inclusion Rules for Create DNS Zone in Admin Standard Roles"
} ]

Get Action Inclusion

GET /action-inclusions/{id}

Authorization

This endpoint requires read action on the action-inclusion resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

Path Type Optional Description

id

String

true

Must not be null.

resourceActionId

String

true

Must not be null.

authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

includeWhenAbove

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is above the {@link StandardRoleType}'s {@link ResourceType}.

includeWhenAt

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is the same as the {@link StandardRoleType}'s {@link ResourceType}.

includeWhenBelow

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is below the {@link StandardRoleType}'s {@link ResourceType}.

createdBy

String

true

The identity id that created this resource.

Must not be null.

createdAt

String

true

The date-time at which this {@link ActionInclusion} was created.

Must not be null.

updatedAt

String

true

The date-time at which this {@link ActionInclusion} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

deletedAt

String

true

The date-time at which this {@link ActionInclusion} was deleted. This will be null for an {@link ActionInclusion} that has not been deleted. If this property is not null, then the {@link ActionInclusion} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

_title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/action-inclusions/47c7ea8c-fe56-4469-b39e-fecfba3d340c' -i -X GET \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJYa3U2Z3I4S0hKV2lnTEs3RGE0NzhRIiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjEwZDVhMWE1LTY2MWUtNDYwMC1hYWI1LTc5MWE3MTJlOGQyNiIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NCwiZXhwIjoxNzEyMzIzOTk0LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiNDcwMzkzNjAtZWU1Zi00Mjg1LWI4ODQtOGZlOTE5MzZmM2NkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk0fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.ZKryHzjADrmz2egUG3sez0ZAYF9nuU7hJDtlPq1KatFJaERUo8lgrlaCoEUYRMYb5-8GeB6LOSGx6bBridbyuRRMv3roybXSz_MxiQfwdIJa9a4gQ2Qnw7ArzZE5cQVWHIk63ngzV7cf9pwFgk7S1niIE2ec6UZv4JxZQsgHObGlnoMuFSx8Qx0ZY62Ta_98Mxn6w-O10IVTjxEEEp3ugDz78T3T2h8fp5laGCPNH6AWJ9wMcojiB9U1WKyrwxeGZm4luOkbWXOpdFpq4B7NJuNv-THfKuT82nC1tXwuQMZD5rWctcuh9ndxoG5fpMg-Ak1_xSQSBKlGtgWkDKnLCw'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 520

{
  "id" : "47c7ea8c-fe56-4469-b39e-fecfba3d340c",
  "resourceActionId" : "c6459539-60ad-4d1b-a066-b737b8df0508",
  "authorizationStrategyName" : "Admin",
  "includeWhenAbove" : false,
  "includeWhenAt" : true,
  "includeWhenBelow" : true,
  "createdBy" : "e9ab9c5b-a6d5-41ff-be5a-444712e7bfcc",
  "createdAt" : "2024-04-05T12:33:14.039382Z",
  "updatedAt" : "2024-04-05T12:33:14.039382Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Inclusion Rules for Test Action 8 Test Type 7 in Admin Standard Roles"
}

Create Action Inclusion

POST /action-inclusions

Authorization

This endpoint requires the following actions:

  • create action on the action-inclusion resource type

  • read action on the resource-action resource type

Path parameters

No parameters.

Query parameters

No parameters.

Request fields

Path Type Optional Description

resourceActionId

String

true

Client must have read action on the annotated resource.
Must not be null.

includeWhen

Map

true

Must not be empty.
Must not be null.

Response fields

Path Type Optional Description

[].id

String

true

Must not be null.

[].resourceActionId

String

true

Must not be null.

[].authorizationStrategyName

String

true

Must not be null.
Size must be between 1 and 64 inclusive.

[].includeWhenAbove

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is above the {@link StandardRoleType}'s {@link ResourceType}.

[].includeWhenAt

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is the same as the {@link StandardRoleType}'s {@link ResourceType}.

[].includeWhenBelow

Boolean

true

True if the linked {@link ResourceAction} should be included in {@link StandardRole}s where this {@link ResourceAction}'s {@link ResourceType} is below the {@link StandardRoleType}'s {@link ResourceType}.

[].createdBy

String

true

The identity id that created this resource.

Must not be null.

[].createdAt

String

true

The date-time at which this {@link ActionInclusion} was created.

Must not be null.

[].updatedAt

String

true

The date-time at which this {@link ActionInclusion} was updated. The only supported 'update' on this bean is to mark it as deleted.

Must not be null.

[].deletedAt

String

true

The date-time at which this {@link ActionInclusion} was deleted. This will be null for an {@link ActionInclusion} that has not been deleted. If this property is not null, then the {@link ActionInclusion} is 'marked' as being deleted. For data retention reasons, we never actually delete a resource.

[].deletedBy

String

true

The identity id that deleted this resource. This will be null until the resource is marked deleted.

[]._title

String

true

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/action-inclusions' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJKYzNoUEhmUUtOaTdsYUpPSTF6YjB3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6ImNlZjhlN2M2LTdiYzMtNDNkOS04N2YzLTExNThlYjkzZDg2MCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NCwiZXhwIjoxNzEyMzIzOTk0LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZGNjYzliYjktOWUyYS00NTdlLTg4ZjAtNmVlNzlmNGMxYzBkXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk0fSx7XCJpZFwiOlwiOTEyMjcwMDMtNGI3MS00ZDdiLWJmMmItMjA5YzVlM2QwYzJiXCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk0fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.jqbc2HwC_ftHZD59sJaUeefGbZP3bmpyMBZi63amli3pD8MM0bhGExpSXoGnQBwS8JMTcJhaMET8prA3Ag7-FycMvWSyVh5UAbaEm-O6NN6b1H8hssiow1iVMsXaHRhMSBSwnQasi9OuFgZS9dL6xRr4Qz9sBpUHeownz32VDrdcIvdfzhI5cybVwSsPuRLVb73UIArYfMceBIIklrO6iYkrfIGcrfkKnvJCsCqLHVUAztLnclOPomt7P4K5NMXJ6Twec6eITQ7E-qyGlmSGwwoDKryv1Qco_UBHqaibLLpJ0GLycXDoqogaCQFfPL9Um-xVnS9-ZLsWYsOgpgLthg' \
    -d '{"resourceActionId":"c9986c85-8cc1-45c3-b390-b41e58bb42d0","includeWhen":{"Admin":{"above":false,"at":true,"below":true}}}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 526

[ {
  "id" : "fa8e451b-3c00-40d5-a7ca-718043be775c",
  "resourceActionId" : "c9986c85-8cc1-45c3-b390-b41e58bb42d0",
  "authorizationStrategyName" : "Admin",
  "includeWhenAbove" : false,
  "includeWhenAt" : true,
  "includeWhenBelow" : true,
  "createdBy" : "cef8e7c6-7bc3-43d9-87f3-1158eb93d860",
  "createdAt" : "2024-04-05T12:33:14.876153Z",
  "updatedAt" : "2024-04-05T12:33:14.876153Z",
  "deletedAt" : null,
  "deletedBy" : null,
  "_title" : "Inclusion Rules for Test Action 14 Test Type 13 in Admin Standard Roles"
} ]

Delete Action Inclusion

DELETE /action-inclusions/{id}

Authorization

This endpoint requires delete action on the action-inclusion resource type.

Path parameters

Parameter Type Optional Description

id

Object

false

Query parameters

No parameters.

Request fields

No request body.

Response fields

No response body.

Example request

$ curl 'https://gateway.netFoundry.io/auth/v1/action-inclusions/218a9e2a-6bff-49ff-8d00-c16f78b16994' -i -X DELETE \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlMDhmNGM0LWQ1NDItNDQzOC1hMDkzLWI5YTBiNGZiYTM3MSJ9.eyJqdGkiOiJTRDBkOFJQSXp0Xy1zX3lrUmhKZGl3IiwiaXNzIjoiTmV0Rm91bmRyeSIsInN1YiI6IjA4OWYyM2VlLWVjNTAtNDIxZi1hOGZlLWVlMzY3OTYzYjkyZCIsImF1ZCI6ImlvLm5ldGZvdW5kcnkuYXV0aCIsImlhdCI6MTcxMjMyMDM5NCwiZXhwIjoxNzEyMzIzOTk0LCJncmFudHMtc3VwZXIiOiJbXSIsImdyYW50cy1jdXN0b20iOiJbXSIsImdyYW50cy1wdWJsaWMiOiJbe1wiaWRcIjpcIjBiY2Y1ZjMzLTQyYWMtNDQxNy1hOGVkLWM4N2IzY2M2ZTAyZlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjcyMzY2ZjlmLTcwOGMtNGQxOS05ZjY0LTllOGJhYjA3NzdiZVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM4NX0se1wiaWRcIjpcIjdlYmYwYTE5LWFmNjMtNDMzNi05YmNiLTFlMmEwYzk5NzcwMVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcIjg4MTFmZGFmLTcwYTAtNGFjYy1iZTJmLTIzMGNiMDFlODFhNlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3Mn0se1wiaWRcIjpcIjA1NDdjMWJmLTE4NDMtNDNhZS1iNTZkLTU1MmEyZjk5YWZkNFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImNlZDhkZmUxLWIyNmItNGIzOC05NGI2LWU4YmJlYjNmNDRjYlwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MX0se1wiaWRcIjpcIjUxNGFlMDk4LWRiZDMtNDA5Ny1iOTgzLTllNGM0MjViZDA2NFwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImU4ZGUzOGFlLWJkMjQtNDI0NC1hOGQ1LTk3OTc3M2FkNWM1YVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM3MH0se1wiaWRcIjpcImI1ZTExZmM4LWVhOGEtNDNiYS1hYWNkLWE5ZjdlMDY0ODMyNVwiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX0se1wiaWRcIjpcImNkODA2Yjc3LWUzMDQtNDFiMy1hZDZjLTgzOGM4OWEyNmQ4Y1wiLFwibGFzdE1vZGlmaWVkXCI6MTcxMjMyMDM2OX1dIiwiZ3JhbnRzLWFjdGlvbiI6Ilt7XCJpZFwiOlwiZWY5NGYyYTMtODQ2ZC00MzJhLTgxOTYtMTdhZTFiMDY1ZTc0XCIsXCJsYXN0TW9kaWZpZWRcIjoxNzEyMzIwMzk0fV0iLCJncmFudHMtc3RhbmRhcmQiOiJbXSJ9.L-dW7jRepvVFWtseKic1vDS9o6DxFcvIGEG9bEsUqe4T61yKo2YQP-kc1WUR9MgP8xhdguAOu_YI6fVbtsHh9wtMfIBn150R76TfxA3huOPKu_6Z0tENyk2Pmry7xuUBsu6nOgjtnbFbU8uiWCTQ4XKEC194ynsU0PcTwN4Qcx4kwycDYw9iWXl84ca9hpxUGUmitxgZ62ZY5JJTuczBpKk5HuYojIyn6RJzDvcEzx03vTrujrKkOCihLmVyENX1NW03rv2yxAcjQkbhw3EV9vhcVI8BzsbnewpIB2Kav7NNsRElC6HzLEiarxJx8OJ6sH72bgg0kJ0amCywmUPWLw'

Example response

HTTP/1.1 200 OK