AuthorizationAPI | @here/olp-sdk-ts
Namespace AuthorizationAPI
Index
Interfaces
- Active
Permission - Allowed
Actions - App
Info - Attached
Policy - Entity
Grant - Entity
Grants - Entity
Id - Group
- Group
Info - Group
Member - Group
Member Info - Group
Member PageWToken - Group
PageWToken - Invite
PageWToken - Linkable
Resource - Linkable
Resource List - List
Invite Response - PageWToken
- Page
With Token - Page
With Token No Total - Patch
Project - Permission
PageWToken - Project
List With Page Token - Project
Member - Project
Member Group Info - Project
Member List With Page Token - Project
Policy List Response - Project
Policy Request Body - Project
Policy Request Body Permissions - Project
Policy Response - Project
Policy Response Permissions - Project
Request - Project
Response - Realm
Auth Invite Response - Realm
Authorization Invite - Realm
Member - Realm
Member Info - Realm
Member PageWToken - Resource
In Project List With Page Token - Resource
In Project Response - Resource
Link Action Body - Resource
List Detailed With Page Token - Resource
List With Page Token - Resource
Project List With Page Token - Resource
Project Response - Resource
Relation Response - Resource
Response - Resource
Response Detailed - Role
- Role
Entity - Role
Entity Info - Role
Entity PageWToken - Role
PageWToken - User
Info
Type Aliases
Functions
- add
Grant - add
Group Member - add
Project Member - add
Project Resource Relation - add
Role Entity - attach
Project Policy To Member - cancel
Realm Member Invite - check
Project Existance - create
Group - create
Project - create
Project Policy - create
Realm Member Invite - delete
Group - delete
Project - delete
Project Member - delete
Project Policy - delete
Project Resource Reference - delete
Role Entity - detach
Project Policy From Member - get
All Project List - get
All Project Members With Attached Policy - get
Attached Project Policies For Member - get
Attached Project Policy For Member - get
Entity Group Membership - get
Entity Managed Groups - get
Grant - get
Grants - get
Group - get
Group Member - get
Group Members - get
Group Roles - get
Groups - get
List Of Ways Resource Is Linkable - get
My Groups - get
My Roles - get
Project - get
Project List - get
Project Member - get
Project Policy - get
Project Policy List - get
Project Resource - get
Realm Member - get
Realm Members - get
Resource - get
Resource Actions For Project - get
Resource Linkability - get
Resource Projects - get
Resource Type Action List - get
Resources - get
Role - get
Role Entities - get
Role Entity - get
Role Permission - get
Role Permissions - get
Roles - leave
Group - leave
Project - list
Grants - list
Project Members - list
Project Resources - list
Realm Resources - make
Resource Linkable - patch
Project - remove
Grant - remove
Group Member - remove
Resource Linkability - resend
Realm Member Invite - search
Realm Member Invites - set
Attached Project Policies To Member - update
Group - update
Project Policy - update
Resource Linkability
Type Aliases
Effect Enum
Entity Type Enum
Identity Type Enum
Relation
Resource Relation
The relation of the resource with the Project
State Enum
Type
The type of the resource
Functions
add Grant
Grant access to a resource to an entity. The result of this call is that the specified entity will have permission to take the specified action against the specified resource. Restrictions:
- The realm of the calling principal must match the realm of the requested entity.
- The calling principal must have permission to take the addGrant:{actionId} OR share action against the specified resource.
- Example: In order to add a grant for the readResource action against resource hrn:here:data:::my-shared-catalog a permission with the following would be required:
- "action" : "addGrant:readResource"
- "resource" : "hrn:here:data:::my-shared-catalog" OR
- "action" : "share"
- "resource" : "hrn:here:data:::my-shared-catalog"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { actionId: string; entityId: string; entityType: string; resourceHrn: string }
action
Id: string entity
Id: string entity
Type: string resource
Hrn: string
Returns Promise<EntityGrant>
add Group Member
Add a single member to a group.
Restrictions:
The calling principal must have permission to take the manageMembers action against the group identified by the provided group HRN.
Example: In order to add a member to the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string; member: string }
group
Id: string member: string
Returns Promise<Response>
add Project Member
Add the member to the requested Project.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the manageMembers action for the specified resource.
Example: In order to add a member to the Project, the following permission would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; project: string; xCorrelationID?: string }
member: string
project: string
Optional x
CorrelationID?: string
Returns Promise<Response>
add Project Resource Relation
Add the resource to the requested Project as a home or a reference(link).
Access Control:
User Access Token & Client Access Token When relation=home The requested resource will be assigned the requested project as its resource home. The resource MUST NOT already have an existing resource home.
The calling principal must have permission to take the manageResourceHome action for the specified project AND the share action for the specified resource.
Example: In order to add resource "hrn:here:data::myrealm:my-catalog-0000" to the project "hrn:here:authorization::myrealm:project/my-project-0000", the following permissions would be required:
Permission 1:
"action" : "manageResourceHome"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
Permission 2:
"action" : "share"
"resource" : "hrn:here:data::myrealm:my-catalog-0000" When relation=reference Link the resource to the requested Project as a reference(link). The requested resource will be assigned to the requested project as reference(link).
The resource MUST be available to the caller to attach as a resource reference(link). A resource is referenceable if it has been marked as referenceable and the caller has permission to all reference enabled actions against the resource OR The resource has been made linkable to the project/realm for the project linking enabled action The exclusive list of resources available to the caller to attach as a resource reference(link) is accessible via a call to /resources?referenceable=true or /resources?linkable=true
- The authorization context must satisfy one of the following:
- The calling principal has permission to take the manageResourceReferences action for the specified project.
- Example: In order to add a resource reference to the project "hrn:here:authorization::myrealm:project/my-project-0000", the following permission would be required:
- "action" : "manageResourceReferences"
- "resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
- The calling principal is a member of the specified project.
- The calling principal must have permission to attach the resource as a referenceable resource. A resource is referenceable to the caller if:
- It has been marked as referenceable and The caller has permission to all reference enabled actions against the resource.
OR
- The resource has been made linkable to the project/realm for the project linking enabled action
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: ResourceLinkActionBody; project: string; relation: ResourceRelation; resource: string; type: Type; xCorrelationID?: string }
body: ResourceLinkActionBody
project: string
relation: ResourceRelation
resource: string
type: Type
Optional x
CorrelationID?: string
Returns Promise<ResourceRelationResponse>
add Role Entity
Assign the role provided to the given entity. If the provided role is associated with a group, the entity being assigned the role must be a member of the associated group. Restrictions:
- The calling principal must have permission to take the manageEntities action against the specified role.
- Example: In order to assign the role, GroupAdmin, to an entity a permission with the following would be required:
- "action" : "manageEntities"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { entity: string; role: string }
entity: string
role: string
Returns Promise<Response>
attach Project Policy To Member
Attaches the Project Policy to the member of the Project.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the manageMembers action for the specified resource.
Example: In order to attach a custom policy in a Project to a member, the following permissions would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000" AND
"action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; policy: string; project: string }
member: string
policy: string
project: string
Returns Promise<Response>
cancel Realm Member Invite
Cancel an invitation to the realm. Restrictions:
- The calling principal must have permission to take the manageInvites action against the specified realm.
Parameters
builder: RequestBuilder
params: { invite: string; realm: string }
invite: string
realm: string
Returns Promise<Response>
check Project Existance
Checks whether a project exists with requested project hrn in caller realm.
If project does not exist in the same realm it will return 404.
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; xCorrelationID?: string }
project: string
Optional x
CorrelationID?: string
Returns Promise<Response>
create Group
Create a group within the realm that is associated with the calling party. The calling party will be made a member and an administrator of the created group.
Restrictions:
The calling principal must have permission to take the createGroup action against the realm associated with the calling party.
Example: In order to create a group within the calling party's realm a permission with the following would be required:
"action" : "createGroup"
"resource" : "hrn:here:account::myrealm:realm/myrealm"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: Group }
body: Group
Returns Promise<Group>
create Project
Create the requested Project in the callers realm Access Control:
- User Access Token & Client Access Token
- The calling principal must have permission to take the createProject action for the specified project.
- Example: In order to create a Project, the following permission would be required:
- "action" : "createProject"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: ProjectRequest; xCorrelationID?: string }
body: ProjectRequest
Optional x
CorrelationID?: string
Returns Promise<ProjectResponse>
create Project Policy
Create the requested custom policy in the Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the managePolicies action for the specified resource.
Example: In order to create a custom policy in a Project, the following permission would be required:
"action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: ProjectPolicyRequestBody; project: string }
body: ProjectPolicyRequestBody
project: string
Returns Promise<ProjectPolicyResponse>
create Realm Member Invite
Create and send an invitation to add a new member to the realm, optionally assign membership to one or more groups if the Inviter is also a GroupAdmin for the group. Restrictions:
- The calling principal must have permission to take the manageInvites action against the specified realm.
Parameters
builder: RequestBuilder
params: { body: RealmAuthorizationInvite; realm: string }
body: RealmAuthorizationInvite
realm: string
Returns Promise<RealmAuthInviteResponse>
delete Group
Delete the group identified by the provided group HRN.
Restrictions:
The calling principal must have permission to take the deleteGroup action against the group identified by the provided group HRN.
Example: In order to delete the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "deleteGroup"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string }
group
Id: string
Returns Promise<Response>
delete Project
Delete the specified Project Access Control:
- User Access Token & Client Access Token
- The calling principal must have permission to take the manage action for the specified resource.
- Example: In order to delete a Project, the following permission would be required:
- "action" : "manage"
- "resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; xCorrelationID?: string }
project: string
Optional x
CorrelationID?: string
Returns Promise<Response>
delete Project Member
Remove the member from the specified Project Access Control:
- User Access Token & Client Access Token
- The calling principal must have permission to take the manageMembers action for the specified resource.
- Example: In order to remove a member from a Project, the following permission would be required:
- "action" : "manageMembers"
- "resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; project: string; xCorrelationID?: string }
member: string
project: string
Optional x
CorrelationID?: string
Returns Promise<Response>
delete Project Policy
Delete the custom policy in the Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the managePolicies action for the specified resource.
Example: In order to update a custom policy in a Project, the following permission would be required:
"action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { policy: string; project: string }
policy: string
project: string
Returns Promise<Response>
delete Project Resource Reference
Remove the resource from the project. The requested resource may only be linked as a reference, removing a home resource requires deleting the resource from the resource service.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the manageResourceReferences action for the specified project.
Example: In order to remove a resource reference(link) from the project "hrn:here:authorization::myrealm:project/my-project-0000", the following permission would be required:
"action" : "manageResourceReferences"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: ResourceLinkActionBody; project: string; relation: string; resource: string; xCorrelationID?: string }
body: ResourceLinkActionBody
project: string
relation: string
resource: string
Optional x
CorrelationID?: string
Returns Promise<Response>
delete Role Entity
Remove the role provided to from the given member. Restrictions:
- The calling principal must have permission to take the manageEntities action against the specified role.
- Example: In order to revoke the role, GroupAdmin, from an entity a permission with the following would be required:
- "action" : "manageEntities"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { entity: string; role: string }
entity: string
role: string
Returns Promise<Response>
detach Project Policy From Member
Detached the requested custom Project Policy from a Membber
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the manageMembers action for the specified resource.
Example: In order to detach a custom policy in a Project from a member, the following permissions would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000" AND
"action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; policy: string; project: string }
member: string
policy: string
project: string
Returns Promise<Response>
get All Project List
Get the list of all Projects in the Org
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the listAllProjects action for the specified resource.
Example: In order to get a list of projects, the following permission would be required:
"action" : "listAllProjects"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string Optional x
CorrelationID?: string
Returns Promise<ProjectListWithPageToken>
get All Project Members With Attached Policy
Get the list of all Project Members with the attached Policy
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to read the list of all members attached to a project policy, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Members, Project Admins, Org Admins
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; policy: string; project: string; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string policy: string
project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectMemberListWithPageToken>
get Attached Project Policies For Member
Get the list of Attached Project Policies For a Member
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to read the list of the attached project policies, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Members, Project Admins, Org Admins
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; member: string; pageToken?: string; project: string; xCorrelationID?: string }
Optional limit?: number
member: string
Optional page
Token?: string project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectPolicyListResponse>
get Attached Project Policy For Member
Get the attached Project Policy For a Member
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to read the attached project policy, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Members, Project Admins, Org Admins
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; policy: string; project: string }
member: string
policy: string
project: string
Returns Promise<AttachedPolicy>
get Entity Group Membership
Retrieve the groups a given entity is a member of. Restrictions: The calling principal must have permission to take the readGroups action against the specified entity.
Parameters
builder: RequestBuilder
params: { count?: number; member: string; pageToken?: string; realm: string }
Optional count?: number
member: string
Optional page
Token?: string realm: string
Returns Promise<GroupPageWToken>
get Entity Managed Groups
Retrieve the list of groups over which the provided entity has been granted the role of GroupAdmin. Restrictions:
- The calling principal must have permission to take the readGroups action against the specified entity.
Parameters
builder: RequestBuilder
params: { count?: number; member: string; pageToken?: string; realm: string }
Optional count?: number
member: string
Optional page
Token?: string realm: string
Returns Promise<GroupPageWToken>
get Grant
Get a single grant given to an entity. This calls returns any permission to take the specified action against the specified resource on the requested entity. Restrictions:
- The realm of the calling principal must match the realm of the requested app.
- The calling principal must have permission to take the listGrants OR share action against the specified resource.
- In order to get a grant against resource hrn:here:data:::my-shared-catalog a permission with the following would be required:
- "action" : "listGrants"
- "resource" : "hrn:here:data:::my-shared-catalog" OR
- "action" : "share"
- "resource" : "hrn:here:data:::my-shared-catalog"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { actionId: string; entityId: string; entityType: string; resourceHrn: string }
action
Id: string entity
Id: string entity
Type: string resource
Hrn: string
Returns Promise<EntityGrant>
get Grants
Get grants. This call describes the permissions assigned to the specified entity that grant access to the specified resource.
Restrictions:
- The realm of the calling principal must match the realm of the requested entity.
- The calling principal must have permission to take the listGrants OR share action against the specified resource.
- Example: In order to get grants against resource hrn:here:data:::my-shared-catalog a permission with the following would be required:
- "action" : "listGrants"
- "resource" : "hrn:here:data:::my-shared-catalog" OR
- "action" : "share"
- "resource" : "hrn:here:data:::my-shared-catalog"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { entityId: string; entityType: string; resourceHrn: string }
entity
Id: string entity
Type: string resource
Hrn: string
Returns Promise<EntityGrant>
get Group
Retrieve the group identified by the provided group HRN.
Restrictions:
The calling principal must have permission to take the readMembers action against the realm associated with the calling party.
Example: In order to retrieve a group within the calling party's realm a permission with the following would be required:
"action" : "readMembers"
"resource" : "hrn:here:account::myrealm:realm/myrealm"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string }
group
Id: string
Returns Promise<Group>
get Group Member
Retrieve a single group member.
Restrictions:
The calling principal must have permission to take the readMembers action against the group identified by the provided group HRN.
Example: In order to retrieve a single member of the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "readMembers"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string; member: string }
group
Id: string member: string
Returns Promise<GroupMember>
get Group Members
Retrieve the list of members of the group identified by the provided group HRN.
Restrictions:
The calling principal must have permission to take the readMembers action against the group identified by the provided group HRN.
Example: In order to retrieve the members of the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "readMembers"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { count?: number; entityType?: string; groupId: string; pageToken?: string }
Optional count?: number
Optional entity
Type?: string group
Id: string Optional page
Token?: string
Returns Promise<GroupMemberPageWToken>
get Group Roles
List the roles which are associated with the provided group.
Restrictions:
- The calling principal must have permission to take the readRoles action against the specified group.
- Example: In order list the roles associated with the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
- "action" : "readRoles"
- "resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { count?: number; groupId: string; pageToken?: string }
Optional count?: number
group
Id: string Optional page
Token?: string
Returns Promise<RolePageWToken>
get Groups
Retrieve the list of groups within the realm associated with the calling party.
Restrictions:
The calling principal must have permission to take the readMembers action against the realm associated with the calling party.
Example: In order to list the groups within the calling party's realm a permission with the following would be required:
"action" : "readMembers"
"resource" : "hrn:here:account::myrealm:realm/myrealm"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
Optional params: { count?: number; pageToken?: string; q?: string }
Optional count?: number
Optional page
Token?: string Optional q?: string
Returns Promise<GroupPageWToken>
get List Of Ways Resource Is Linkable
Get a list of ways this resource has been made linkable
Access Control:
The calling principal must have permission to take all the "requiredToMakeLinkable" actions against the service inferred via the reserved resource prefix of the resource in the path in the scope of the home project of the resource.
Example: In order to make a catalog linkable, the following permission would be required:
"action" : "manageResource"
"resource" : "hrn:here:data::olp-here:my-shared-catalog"
This API works only with tokens that are scoped to the home project of the resource.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; resource: string; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string resource: string
Optional x
CorrelationID?: string
Returns Promise<LinkableResourceList>
get My Groups
Retrieve a list of groups of a member
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
Optional params: { count?: number; pageToken?: string }
Optional count?: number
Optional page
Token?: string
Returns Promise<GroupPageWToken>
get My Roles
Retrieve the list of roles which have been assigned to the calling party. This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
Optional params: { count?: number; pageToken?: string }
Optional count?: number
Optional page
Token?: string
Returns Promise<RolePageWToken>
get Project
Get the requested Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to get a project, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; xCorrelationID?: string }
project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectResponse>
get Project List
Get the list of Projects you are a project admin or a member based on the "canManage" or "isMember" parameter's value.
Parameters
builder: RequestBuilder
params: { canManage?: boolean; isMember?: boolean; limit?: number; pageToken?: string; xCorrelationID?: string }
Optional can
Manage?: boolean Optional is
Member?: boolean Optional limit?: number
Optional page
Token?: string Optional x
CorrelationID?: string
Returns Promise<ProjectListWithPageToken>
get Project Member
Get the requested Project Member
Access Control:
- User Access Token & Client Access Token
- The calling principal must have permission to take the read action for the specified resource.
- Example: In order to get a member of a Project, the following permission would be required:
- "action" : "read"
- "resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { member: string; project: string; xCorrelationID?: string }
member: string
project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectMember>
get Project Policy
Get the requested Project Policy
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to read a project policy, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Members, Project Admins, Org Admins
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { policy: string; project: string }
policy: string
project: string
Returns Promise<ProjectPolicyResponse>
get Project Policy List
List the Policies that can be attached to members of the Project. This list will contain all the HERE provided policies and any custom user defined policies created in the Project.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to read a policy list of a Project, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Members, Project Admins, Org Admins
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; project: string; projectPolicyType?: string; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string project: string
Optional project
Policy Type?: string Optional x
CorrelationID?: string
Returns Promise<ProjectPolicyListResponse>
get Project Resource
Get the resource that is linked to the requested Project.
The requested resource may be linked as either a home or a reference(link).
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified project
Example: In order to get resource "hrn:here:data::myrealm:my-catalog-0000" in the project "hrn:here:authorization::myrealm:project/my-project-0000", the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; relation?: "home" | "reference"; resource: string; xCorrelationID?: string }
project: string
Optional relation?: "home" | "reference"
resource: string
Optional x
CorrelationID?: string
Returns Promise<ResourceInProjectResponse>
get Realm Member
Retrieve the user or application details of the member defined by memberId. Restrictions:
- The calling principal must have permission to take the readMembers action against the specified realm.
Parameters
builder: RequestBuilder
params: { member: string; realm: string }
member: string
realm: string
Returns Promise<RealmMember>
get Realm Members
Retrieve the list of members within the realm. Restrictions:
- The calling principal must have permission to take the readMembers action against the specified realm.
Parameters
builder: RequestBuilder
params: { count?: number; entityType?: string; pageToken?: string; q?: string; realm: string; state?: string }
Optional count?: number
Optional entity
Type?: string Optional page
Token?: string Optional q?: string
realm: string
Optional state?: string
Returns Promise<RealmMemberPageWToken>
get Resource
Get the Resource that the caller is allowed to see based on the input query parameters
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { referenceable: boolean; resource: string; xCorrelationID?: string }
referenceable: boolean
resource: string
Optional x
CorrelationID?: string
Returns Promise<ResourceResponse>
get Resource Actions For Project
Gets the actions list for the resource for the project based on the query parameters.
The list of available actions are filtered based on the relation of the resource, either home or reference with the allowed actions. This API provides a list of available actions during project workflows like linking or project policy creation.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified project
Example: In order to get resource "hrn:here:data::myrealm:my-catalog-0000" in the project "hrn:here:authorization::myrealm:project/my-project-0000", the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; resource: string; type: string; xCorrelationID?: string }
project: string
resource: string
type: string
Optional x
CorrelationID?: string
Returns Promise<string[]>
get Resource Linkability
Get the availability for linking this resource to either a project or realm.
Access Control:
The calling principal must have permission to take all the "requiredToMakeLinkable" actions against the service inferred via the reserved resource prefix of the resource in the path in the scope of the home project of the resource.
Example: In order to get the catalog linkability, the following permission would be required:
"action" : "manageResource"
"resource" : "hrn:here:data::olp-here:my-shared-catalog" This API works only with tokens that are scoped to the home project of the resource.
Parameters
builder: RequestBuilder
params: { availableToHrn: string; resource: string; xCorrelationID?: string }
available
To Hrn: string resource: string
Optional x
CorrelationID?: string
Returns Promise<LinkableResource>
get Resource Projects
Get the list of Projects that the resource belongs to or is referenced in(linked to). The returned list will only include projects that are in the caller's realm.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; relation?: "home" | "reference"; resource: string; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string Optional relation?: "home" | "reference"
resource: string
Optional x
CorrelationID?: string
Returns Promise<ResourceProjectListWithPageToken>
get Resource Type Action List
Gets the actions list for the resource type based on the query parameters.
Parameters
builder: RequestBuilder
params: { resourceType: Type; type: string; xCorrelationID?: string }
resource
Type: Type type: string
Optional x
CorrelationID?: string
Returns Promise<string[]>
get Resources
Get a list of Resources that the caller is allowed to see based on the input query parameters.
Parameters
builder: RequestBuilder
params: { access?: string; limit?: number; linkable?: boolean; pageToken?: string; referenceable?: boolean; type: Type; xCorrelationID?: string }
Optional access?: string
Optional limit?: number
Optional linkable?: boolean
Optional page
Token?: string Optional referenceable?: boolean
type: Type
Optional x
CorrelationID?: string
Returns Promise<ResourceListDetailedWithPageToken>
get Role
Get the role identified by the provided Role HRN.
Restrictions:
- The calling principal must have permission to take the readRoles action against the specified realm.
Example: In order to retrieve a role within the realm, MyRealm, a permission with the following would be required:
- "action" : "readRoles"
- "resource" : "hrn:here:account::myrealm:realm/myrealm"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { role: string }
role: string
Returns Promise<Role>
get Role Entities
Retrieve the list of entities which have been assigned the role as identified by the provided role HRN.
Restrictions:
- The calling principal must have permission to take the readEntities action against the specified role.
Example: In order to list the entities assigned the role, _ hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37_, a permission with the following would be required:
- "action" : "readEntities"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { count?: number; pageToken?: string; role: string }
Optional count?: number
Optional page
Token?: string role: string
Returns Promise<RoleEntityPageWToken>
get Role Entity
Retrieve a single entity which has been assigned the role as identified by the provided role HRN.
Restrictions:
- The calling principal must have permission to take the readEntities action against the specified role.
- Example: In order to retrieve an entity assigned the role, GroupAdmin, a permission with the following would be required:
- "action" : "readEntities"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { entity: string; role: string }
entity: string
role: string
Returns Promise<RoleEntity>
get Role Permission
Get a single permission associated with the role identified by the provided Role HRN.
Restrictions:
- The calling principal must have permission to take the readPermissions action against the specified role.
- Example: In order to retrieve a single role permission for the specified role in realm MyRealm, a permission with the following would be required:
- "action" : "readPermissions"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { permission: string; role: string }
permission: string
role: string
Returns Promise<ActivePermission>
get Role Permissions
Get the permissions associated with the role identified by the provided Role HRN.
Restrictions:
- The calling principal must have permission to take the readPermissions action against the specified role.
Example: In order to list role permissions for the specified role in realm MyRealm, a permission with the following would be required:
- "action" : "readPermissions"
- "resource" : "hrn:here:authorization::myrealm:role/ROLE-c1662138-a170-4264-ba18-7b506a708c37"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { count?: number; pageToken?: string; role: string }
Optional count?: number
Optional page
Token?: string role: string
Returns Promise<PermissionPageWToken>
get Roles
Retrieve the list of roles within the context of the provided realm.
Restrictions:
- The calling principal must have permission to take the readRoles action against the specified realm.
- Example: In order to list roles within the realm, MyRealm, a permission with the following would be required:
- "action" : "readRoles"
- "resource" : "hrn:here:account::myrealm:realm/myrealm"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
Optional params: { count?: number; pageToken?: string; resource?: string; roleName?: string }
Optional count?: number
Optional page
Token?: string Optional resource?: string
Optional role
Name?: string
Returns Promise<RolePageWToken>
leave Group
Remove the calling party from the group. This operation will also remove administrative roles from this member. This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string }
group
Id: string
Returns Promise<Response>
leave Project
Remove the caller from the specified Project
Access Control:
- User Access Token & Client Access Token
- Authorization : None
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { project: string; xCorrelationID?: string }
project: string
Optional x
CorrelationID?: string
Returns Promise<Response>
list Grants
List grants on user, apps, or groups. This call describes the permissions assigned to any user, app, or group in the same realm as the calling principal that has been granted access to the specified resource through an exact matching permission. Permissions granted through policies and roles are not included. Restrictions:
- The calling principal must have permission to take the listGrants OR share action against the specified resource.
- Example: In order to list grants against resource hrn:here:data:::my-shared-catalog a permission with the following would be required:
- "action" : "listGrants"
- "resource" : "hrn:here:data:::my-shared-catalog" OR
- "action" : "share"
- "resource" : "hrn:here:data:::my-shared-catalog"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { count?: number; entityType?: string; pageToken?: string; resourceHrn: string }
Optional count?: number
Optional entity
Type?: string Optional page
Token?: string resource
Hrn: string
Returns Promise<EntityGrants>
list Project Members
Get the list of members of the Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to get a list of project members, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
if 'onlyIncludeIdentities' query parameter is set to true, 'total' is NOT returned in Response
Parameters
builder: RequestBuilder
params: { limit?: number; onlyIncludeIdentities?: boolean; pageToken?: string; project: string; xCorrelationID?: string }
Optional limit?: number
Optional only
Include Identities?: boolean Optional page
Token?: string project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectMemberListWithPageToken>
list Project Resources
Get the list of resources in the requested Project & referenced in(linked to) the Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the read action for the specified resource.
Example: In order to get the list of resources in the Project, the following permission would be required:
"action" : "read"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; project: string; relation?: "home" | "reference"; type?: "artifact" | "catalog" | "pipeline" | "pipeline-template" | "schema" | "flow" | "flow-pattern"; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string project: string
Optional relation?: "home" | "reference"
Optional type?: "artifact" | "catalog" | "pipeline" | "pipeline-template" | "schema" | "flow" | "flow-pattern"
Optional x
CorrelationID?: string
Returns Promise<ResourceInProjectListWithPageToken>
list Realm Resources
Get List of all the resources in the realm of the caller
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the listRealmResources action for the specified resource.
Example: In order to get a list of projects, the following permission would be required:
"action" : "listRealmResources"
This API works only with tokens that are scoped to a project.
Parameters
builder: RequestBuilder
params: { limit?: number; pageToken?: string; type?: "artifact" | "catalog" | "pipeline" | "pipeline-template" | "schema" | "flow" | "flow-pattern"; xCorrelationID?: string }
Optional limit?: number
Optional page
Token?: string Optional type?: "artifact" | "catalog" | "pipeline" | "pipeline-template" | "schema" | "flow" | "flow-pattern"
Optional x
CorrelationID?: string
Returns Promise<ResourceListWithPageToken>
make Resource Linkable
Adds a listing to make this resource linkable to either a project or entire realm.
The resource must belong to a project to be made linkable. Either projectHrn or realmHrn must be provided to make the resource linkable to.
Access Control:
The calling principal must have permission to take all the "requiredToMakeLinkable" actions against the service inferred via the reserved resource prefix of the resource in the path in the scope of the home project of the resource.
Example: In order to make a catalog linkable, the following permission would be required:
"action" : "manageResource"
"resource" : "hrn:here:data::olp-here:my-shared-catalog"
This API works only with tokens that are scoped to the home project of the resource.
Parameters
builder: RequestBuilder
params: { body: LinkableResource; resource: string; xCorrelationID?: string }
body: LinkableResource
resource: string
Optional x
CorrelationID?: string
Returns Promise<LinkableResource>
patch Project
Update the specified Project
Access Control:
- User Access Token & Client Access Token
- The calling principal must have permission to take the write action for the specified resource.
- Example: In order to update a Project, the following permission would be required:
- "action" : "write"
- "resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
- This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: PatchProject; project: string; xCorrelationID?: string }
body: PatchProject
project: string
Optional x
CorrelationID?: string
Returns Promise<ProjectResponse>
remove Grant
Revoke access to a resource from an entity. The result of this call is that the specified entity will have any directly assigned permission to take the specified action against the specified resource removed.
Restrictions:
The realm of the calling principal must match the realm of the requested app.
The calling principal must have permission to take the removeGrant:{actionId} OR share action against the specified resource.
Example: In order to remove a grant for the readResource action against resource hrn:here:data:::my-shared-catalog a permission with the following would be required:
"action" : "removeGrant:readResource"
"resource" : "hrn:here:data:::my-shared-catalog" OR
"action" : "share"
"resource" : "hrn:here:data:::my-shared-catalog"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { actionId: string; entityId: string; entityType: string; resourceHrn: string }
action
Id: string entity
Id: string entity
Type: string resource
Hrn: string
Returns Promise<Response>
remove Group Member
Remove a member from the group. This operation will also remove administrative roles from this member.
Restrictions:
The calling principal must have permission to take the manageMembers action against the group identified by the provided group HRN.
Example: In order to remove a member from the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { groupId: string; member: string }
group
Id: string member: string
Returns Promise<Response>
remove Resource Linkability
Remove the linkability of this resource against the requested project or realm.
Parameters
builder: RequestBuilder
params: { availableToHrn: string; resource: string; xCorrelationID?: string }
available
To Hrn: string resource: string
Optional x
CorrelationID?: string
Returns Promise<Response>
resend Realm Member Invite
Resend an invitation to a new member to the realm. Restrictions:
- The calling principal must have permission to take the manageInvites action against the specified realm.
Parameters
builder: RequestBuilder
params: { invite: string; realm: string }
invite: string
realm: string
Returns Promise<Response>
search Realm Member Invites
Search for invitations in the realm, optionally providing a group. Restrictions:
- The calling principal must have permission to take the manageInvites action against the realm associated with the calling party.
Parameters
builder: RequestBuilder
params: { count?: number; group?: string; pageToken?: string; q?: string; realm: string }
Optional count?: number
Optional group?: string
Optional page
Token?: string Optional q?: string
realm: string
Returns Promise<InvitePageWToken>
set Attached Project Policies To Member
Sets the Attached Policies list for the specified Project Member, overwriting any pre-existing Attached Policies. The request body will replace any pre-existing Policy attachment(s), and replace that list with those Policies identified in the request body.
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the manageMembers action for the specified resource.
Example: In order to attach a custom policy in a Project to a member, the following permissions would be required:
"action" : "manageMembers"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000" AND * "action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: AttachedPolicy[]; member: string; project: string }
body: AttachedPolicy[]
member: string
project: string
Returns Promise<AttachedPolicy[]>
update Group
Update the group identified by the provided group HRN by updating all writable group fields including name and description.
Restrictions:
The calling principal must have permission to take the updateGroup action against the group identified by the provided group HRN.
Example: In order to modify the group, GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a, a permission with the following would be required:
"action" : "updateGroup"
"resource" : "hrn:here:authorization::myrealm:group/GROUP-8e270653-f592-45a8-88d7-46d409ccfa8a"
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: Group; groupId: string }
body: Group
group
Id: string
Returns Promise<Group>
update Project Policy
Update the requested custom policy in the Project
Access Control:
User Access Token & Client Access Token
The calling principal must have permission to take the managePolicies action for the specified resource.
Example: In order to update a custom policy in a Project, the following permission would be required:
"action" : "managePolicies"
"resource" : "hrn:here:authorization::myrealm:project/my-project-0000"
In the Project workflow, the above permission is granted to all Project Admins and Resource Managers
This API works only with tokens that are not scoped to a project.
Parameters
builder: RequestBuilder
params: { body: ProjectPolicyRequestBody; policy: string; project: string }
body: ProjectPolicyRequestBody
policy: string
project: string
Returns Promise<ProjectPolicyResponse>
update Resource Linkability
Update the linkability of this resource against the requested project or realm.
Access Control: * The calling principal must have permission to take all the "requiredToMakeLinkable" actions against the service inferred via the reserved resource prefix of the resource in the path in the scope of the home project of the resource.
- Example: In order to update the catalog linkability, the following permission would be required:
- "action" : "manageResource"
- "resource" : "hrn:here:data::olp-here:my-shared-catalog"
This API works only with tokens that are scoped to the home project of the resource.
Parameters
builder: RequestBuilder
params: { availableToHrn: string; body: LinkableResource; resource: string; xCorrelationID?: string }
available
To Hrn: string body: LinkableResource
resource: string
Optional x
CorrelationID?: string
Returns Promise<LinkableResource>
Generated using TypeDoc
The relation of the resource with the Project.