openapi: 3.0.3 info: title: AGNTCY Identity Service API description: AGNTCY Identity Service API provides a set of endpoints for managing identity and access control within the Agntcy ecosystem. contact: name: Agntcy Team url: https://github.com/agntcy/identity-service email: identity@agntcy.org version: v1alpha1 x-provenance: method: harvested authored_by: AGNTCY (Outshift by Cisco) harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: agntcy.org / outshift.com note: 'Four first-party machine-readable contracts: the Agent Connect Protocol OpenAPI 3.1.1, the OASF Schema API, and two AGNTCY Identity OpenAPI 3.0.3 documents. schema.oasf.outshift.com is the one genuinely callable AGNTCY-hosted API (unauthenticated, 200).' x-evidence: - type: source url: https://spec.acp.agntcy.org/ - type: source url: https://schema.oasf.outshift.com/doc - type: source url: https://identity-docs.outshift.com/api/openapi/service/v1alpha1/openapi.yaml servers: - url: http://localhost:4000 description: Local environment paths: /v1alpha1/apps: get: tags: - AppService description: List Apps. operationId: AppService_ListApps parameters: - name: page in: query description: The current page of the pagination schema: type: integer format: int32 - name: size in: query description: The page size of the pagination schema: type: integer format: int32 - name: query in: query description: The search query schema: type: string - name: types in: query description: The app type filter schema: type: array items: enum: - APP_TYPE_UNSPECIFIED - APP_TYPE_AGENT_A2A - APP_TYPE_AGENT_OASF - APP_TYPE_MCP_SERVER type: string format: enum - name: sortColumn in: query description: The column ID to sort by schema: type: string - name: sortDesc in: query description: Whether to sort in descending order (true) or ascending order (false) schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListAppsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - AppService description: Create a new App. operationId: AppService_CreateApp requestBody: content: application/json: schema: $ref: '#/components/schemas/App' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/App' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/all/count: get: tags: - AppService description: Get apps count per type. operationId: AppService_GetAppsCount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetAppsCountResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/oasf: post: tags: - AppService operationId: AppService_CreateOasfApp requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOasfAppRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CreateOasfAppResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/{appId}: get: tags: - AppService description: Get App by id operationId: AppService_GetApp parameters: - name: appId in: path description: App Id to get. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/App' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - AppService description: Delete an existing App. operationId: AppService_DeleteApp parameters: - name: appId in: path description: App Id to delete. required: true schema: type: string responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - AppService description: Update an App. operationId: AppService_UpdateApp parameters: - name: appId in: path description: App Id to update. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/App' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/App' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/{appId}/api-key/refresh: get: tags: - AppService description: Refresh the api-key for an App. operationId: AppService_RefreshAppApiKey parameters: - name: appId in: path description: App Id to refresh the API Key for. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/App' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/{appId}/badge: get: tags: - AppService description: Get the current badge issued for the App. operationId: AppService_GetBadge parameters: - name: appId in: path description: App Id or Resolver Metadata ID to get the badge for. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Badge' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/apps/{appId}/badges: post: tags: - BadgeService description: Create a new Badge. operationId: BadgeService_IssueBadge parameters: - name: appId in: path description: App Id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/IssueBadgeRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Badge' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/auth/app_info: get: tags: - AuthService description: App info endpoint operationId: AuthService_AppInfo responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AppInfoResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/auth/approve_token: post: tags: - AuthService description: Handle manual approval of external authorization requets operationId: AuthService_ApproveToken requestBody: content: application/json: schema: $ref: '#/components/schemas/ApproveTokenRequest' required: true responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/auth/authorize: post: tags: - AuthService description: Authorize a request from an Agent or MCP Server operationId: AuthService_Authorize requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthorizeRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorizeResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/auth/ext_authz: post: tags: - AuthService description: Handle external authorization requests operationId: AuthService_ExtAuthz requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtAuthzRequest' required: true responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/auth/token: post: tags: - AuthService description: Request token for an Agent or MCP Server operationId: AuthService_Token requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/badges/verify: post: tags: - BadgeService description: Verify a badge. operationId: BadgeService_VerifyBadge requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifyBadgeRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerificationResult' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/device: get: tags: - DeviceService description: List all registered devices operationId: DeviceService_ListDevices parameters: - name: page in: query description: The current page of the pagination schema: type: integer format: int32 - name: size in: query description: The page size of the pagination schema: type: integer format: int32 - name: query in: query description: The search query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - DeviceService description: Add new device for approval flow operationId: DeviceService_AddDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/Device' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/device/{deviceId}: post: tags: - DeviceService description: Add new device for approval flow operationId: DeviceService_RegisterDevice parameters: - name: deviceId in: path description: The unique identifier for the device to register. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Device' required: true responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - DeviceService description: Delete a registered Device. operationId: DeviceService_DeleteDevice parameters: - name: deviceId in: path description: The device id. required: true schema: type: string responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/device/{deviceId}/test: post: tags: - DeviceService description: Send a test notification to a registered device to see if it's well configured. operationId: DeviceService_TestDevice parameters: - name: deviceId in: path description: The device id. required: true schema: type: string responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/policies: get: tags: - PolicyService description: List Policies. operationId: PolicyService_ListPolicies parameters: - name: page in: query description: The current page of the pagination schema: type: integer format: int32 - name: size in: query description: The page size of the pagination schema: type: integer format: int32 - name: query in: query description: The search query schema: type: string - name: appIds in: query description: A filter used to fetch policies only for the specified Agentic Services schema: type: array items: type: string - name: rulesForAppIds in: query description: A filter used to fetch policies where the rules applies for the specified Agentic Services schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListPoliciesResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - PolicyService description: Create a new Policy. operationId: PolicyService_CreatePolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePolicyRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Policy' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/policies/all/count: get: tags: - PolicyService description: Get policies total count. operationId: PolicyService_GetPoliciesCount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPoliciesCountResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/policies/{policyId}: get: tags: - PolicyService description: Get Policy by id operationId: PolicyService_GetPolicy parameters: - name: policyId in: path description: Policy Id to get. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Policy' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - PolicyService description: Delete an existing Policy. operationId: PolicyService_DeletePolicy parameters: - name: policyId in: path description: Policy Id to delete. required: true schema: type: string responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - PolicyService description: Update a Policy. operationId: PolicyService_UpdatePolicy parameters: - name: policyId in: path description: Policy Id to update. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePolicyRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Policy' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/policies/{policyId}/rules: get: tags: - PolicyService description: List Rules. operationId: PolicyService_ListRules parameters: - name: policyId in: path description: The Policy Id to which these Rules belong. required: true schema: type: string - name: page in: query description: The current page of the pagination schema: type: integer format: int32 - name: size in: query description: The page size of the pagination schema: type: integer format: int32 - name: query in: query description: The search query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListRulesResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - PolicyService description: Create a new Rule. operationId: PolicyService_CreateRule parameters: - name: policyId in: path description: The Policy Id to which these Rules belong. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRuleRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/policies/{policyId}/rules/{ruleId}: get: tags: - PolicyService description: Get Rule by id operationId: PolicyService_GetRule parameters: - name: policyId in: path description: The Policy Id to which these Rules belong. required: true schema: type: string - name: ruleId in: path description: Rule Id to get. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - PolicyService description: Delete an existing Rule. operationId: PolicyService_DeleteRule parameters: - name: policyId in: path description: The Policy Id to which these Rules belong. required: true schema: type: string - name: ruleId in: path description: Rule Id to delete. required: true schema: type: string responses: '200': description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - PolicyService description: Update a Rule. operationId: PolicyService_UpdateRule parameters: - name: policyId in: path description: The Policy Id to which these Rules belong. required: true schema: type: string - name: ruleId in: path description: Rule Id to update. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateRuleRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/settings: get: tags: - SettingsService description: Get Settings operationId: SettingsService_GetSettings responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Settings' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/settings/api-key: post: tags: - SettingsService description: Set up API Key operationId: SettingsService_SetApiKey responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKey' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/settings/issuer: post: tags: - SettingsService description: Set up Issuer operationId: SettingsService_SetIssuer requestBody: content: application/json: schema: $ref: '#/components/schemas/SetIssuerRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IssuerSettings' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1alpha1/tasks: get: tags: - AppService description: Get the list of tasks of all apps operationId: AppService_GetTasks parameters: - name: excludeAppIds in: query description: A filter to exclude fetching tasks for the specified app ids schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetTasksResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' components: schemas: ApiKey: type: object properties: apiKey: type: string description: An Identity API Key. App: required: - name - type type: object properties: id: readOnly: true type: string description: A unique identifier for the App. name: type: string description: A human-readable name for the App. description: type: string description: A human-readable description for the App. type: enum: - APP_TYPE_UNSPECIFIED - APP_TYPE_AGENT_A2A - APP_TYPE_AGENT_OASF - APP_TYPE_MCP_SERVER type: string description: The type of the App. format: enum resolverMetadataId: readOnly: true type: string description: The DID value apiKey: readOnly: true type: string description: The API Key Secret for the App. status: readOnly: true enum: - APP_STATUS_UNSPECIFIED - APP_STATUS_ACTIVE - APP_STATUS_PENDING - APP_STATUS_REVOKED type: string description: The status of the App format: enum createdAt: readOnly: true type: string description: CreatedAt records the timestamp of when the App was initially created format: date-time description: Identity Service App. AppInfoResponse: type: object properties: app: allOf: - $ref: '#/components/schemas/App' description: The App information. AppTypeCountEntry: type: object properties: key: enum: - APP_TYPE_UNSPECIFIED - APP_TYPE_AGENT_A2A - APP_TYPE_AGENT_OASF - APP_TYPE_MCP_SERVER type: string description: The type of the App format: enum value: type: string description: The count of apps of the given type ApproveTokenRequest: type: object properties: deviceId: type: string description: The device id used to handle the approval requestion sessionId: type: string description: The session id related to the token that needs to be approved otp: type: string description: The OTP sent to the device related to the request approve: type: boolean description: 'The action made by the user (true: allow the token, false: deny the token)' AuthorizeRequest: type: object properties: resolverMetadataId: type: string description: The resolver metadata id for which authorization is requested. toolName: type: string description: The MCP Server tool name. userToken: type: string description: "The User context in the form of an id or access token.\n Mandatory for User Approval Flows." AuthorizeResponse: type: object properties: authorizationCode: type: string description: "If authorization is successful, return a code to be used for\n the token endpoint." Badge: type: object properties: verifiableCredential: $ref: '#/components/schemas/VerifiableCredential' appId: type: string BadgeClaims: type: object properties: id: type: string description: "The ID as defined [here]\n\n [here]: https://www.w3.org/TR/vc-data-model/#credential-subject" badge: type: string description: The content of the badge description: "BadgeClaims represents the content of a Badge VC defined [here]\n\n [here]: https://spec.identity.agntcy.org/docs/vc/intro/" CreateOasfAppRequest: type: object properties: schemaBase64: type: string description: The OASF schema in a base64 encoded format CreateOasfAppResponse: type: object properties: app: allOf: - $ref: '#/components/schemas/App' description: The created OASF App. badge: allOf: - $ref: '#/components/schemas/Badge' description: The issued badge for the OASF App. CreatePolicyRequest: type: object properties: name: type: string description: A human-readable name for the Policy. description: type: string description: A human-readable description for the Policy. assignedTo: type: string description: The requester application that this policy applies to. CreateRuleRequest: type: object properties: policyId: type: string description: The Policy Id to which these Rules belong. name: type: string description: A human-readable name for the Rule. description: type: string description: A human-readable description for the Rule. tasks: type: array items: type: string description: The tasks that this Rule applies to. needsApproval: type: boolean description: Need User Approval for this Rule. action: enum: - RULE_ACTION_UNSPECIFIED - RULE_ACTION_ALLOW - RULE_ACTION_DENY type: string description: The action applied for the rule when calling the tasks format: enum CredentialSchema: type: object properties: type: type: string description: Type specifies the type of the file id: type: string description: The URL identifying the schema file description: "CredentialSchema represents the credentialSchema property of a Verifiable Credential.\n more information\ \ can be found [here]\n\n [here]: https://www.w3.org/TR/vc-data-model-2.0/#data-schemas" CredentialStatus: type: object properties: id: type: string description: The URL identifying the schema file type: type: string description: Type specifies the type of the file createdAt: type: string description: The creation date and time of the status format: date-time purpose: enum: - CREDENTIAL_STATUS_PURPOSE_UNSPECIFIED - CREDENTIAL_STATUS_PURPOSE_REVOCATION type: string description: The value of the purpose for the status entry format: enum description: "CredentialStatus represents the credentialStatus property of a Verifiable Credential.\n more information\ \ can be found [here]\n\n [here]: https://www.w3.org/TR/vc-data-model-2.0/#status" Device: type: object properties: id: readOnly: true type: string description: A unique identifier for the Device. userId: type: string description: User ID associated with the Device. subscriptionToken: type: string description: Subscription Token for the Device. name: type: string description: The device human-readable name. createdAt: readOnly: true type: string description: The creation time of the Device. format: date-time description: Devices used for user approval DuoIdpSettings: type: object properties: hostname: type: string integrationKey: type: string secretKey: type: string description: Duo IdP Settings EntraIdpSettings: type: object properties: tenantId: type: string clientId: type: string clientSecret: type: string description: Entra ID (Azure AD) IdP Settings ErrorInfo: type: object properties: reason: type: string message: type: string ExtAuthzRequest: type: object properties: accessToken: type: string description: The access token to be authorized. toolName: type: string description: The tool name that will be invoked GetAppsCountResponse: type: object properties: counts: type: array items: $ref: '#/components/schemas/AppTypeCountEntry' description: The apps count per app type total: type: string description: The total count GetPoliciesCountResponse: type: object properties: total: type: string description: The total count GetTasksResponse: type: object properties: result: type: object additionalProperties: $ref: '#/components/schemas/GetTasksResponse_TaskList' description: The list of tasks per Agentic Service type GetTasksResponse_TaskList: type: object properties: tasks: type: array items: $ref: '#/components/schemas/Task' GoogleProtobufAny: type: object properties: '@type': type: string description: The type of the serialized message. additionalProperties: true description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. IssueA2ABadgeRequest: type: object properties: wellKnownUrl: type: string description: The A2A well_known_url. schemaBase64: type: string description: Or the MCP Schema in a base64 encoded format. IssueBadgeRequest: type: object properties: appId: type: string description: App Id. a2a: allOf: - $ref: '#/components/schemas/IssueA2ABadgeRequest' description: The A2A badge. mcp: allOf: - $ref: '#/components/schemas/IssueMcpBadgeRequest' description: The MCP badge. oasf: allOf: - $ref: '#/components/schemas/IssueOASFBadgeRequest' description: The OASF badge. IssueMcpBadgeRequest: type: object properties: name: type: string description: The MCP badge name. url: type: string description: The MCP badge URL. schemaBase64: type: string description: Or the MCP Schema in a base64 encoded format. IssueOASFBadgeRequest: type: object properties: schemaBase64: type: string description: The OASF schema in a base64 encoded format IssuerSettings: required: - idpType type: object properties: issuerId: readOnly: true type: string description: "A unique identifier for the Issuer.\n This is typically the Issuer's ID in the Identity." idpType: enum: - IDP_TYPE_UNSPECIFIED - IDP_TYPE_DUO - IDP_TYPE_OKTA - IDP_TYPE_ORY - IDP_TYPE_SELF - IDP_TYPE_KEYCLOAK - IDP_TYPE_PING - IDP_TYPE_ENTRA_ID type: string description: The type of the IdP. format: enum duoIdpSettings: allOf: - $ref: '#/components/schemas/DuoIdpSettings' description: Settings for the Duo Identity Provider. oktaIdpSettings: allOf: - $ref: '#/components/schemas/OktaIdpSettings' description: Settings for the Okta Identity Provider. oryIdpSettings: allOf: - $ref: '#/components/schemas/OryIdpSettings' description: Settings for the Ory Identity Provider. keycloakIdpSettings: allOf: - $ref: '#/components/schemas/KeycloakIdpSettings' description: Settings for the Keycloak Identity Provider. pingIdpSettings: allOf: - $ref: '#/components/schemas/PingIdpSettings' description: Settings for the Ping Identity Provider. entraIdpSettings: allOf: - $ref: '#/components/schemas/EntraIdpSettings' description: Settings for the Entra ID Identity Provider. createdAt: readOnly: true type: string description: CreatedAt records the timestamp of when the IssuerSettings was initially created format: date-time updatedAt: readOnly: true type: string description: UpdatedAt records the timestamp of the last update to the IssuerSettings format: date-time description: Issuer Settings KeycloakIdpSettings: type: object properties: baseUrl: type: string realm: type: string clientId: type: string clientSecret: type: string description: Keycloak IdP Settings ListAppsResponse: type: object properties: apps: type: array items: $ref: '#/components/schemas/App' description: A list of Apps. pagination: allOf: - $ref: '#/components/schemas/PagedResponse' description: Pagination response. ListDevicesResponse: type: object properties: devices: type: array items: $ref: '#/components/schemas/Device' description: A list of Apps. pagination: allOf: - $ref: '#/components/schemas/PagedResponse' description: Pagination response. ListPoliciesResponse: type: object properties: policies: type: array items: $ref: '#/components/schemas/Policy' description: A list of Policies. pagination: allOf: - $ref: '#/components/schemas/PagedResponse' description: Pagination response. ListRulesResponse: type: object properties: rules: type: array items: $ref: '#/components/schemas/Rule' description: A list of Rules. pagination: allOf: - $ref: '#/components/schemas/PagedResponse' description: Pagination response. OktaIdpSettings: type: object properties: orgUrl: type: string clientId: type: string privateKey: type: string description: Okta IdP Settings OryIdpSettings: type: object properties: projectSlug: type: string apiKey: type: string description: Ory IdP Settings PagedResponse: type: object properties: nextPage: type: integer description: Next page format: int32 hasNextPage: type: boolean description: Has next page total: type: string description: The total size of items size: type: integer description: The size of the current page format: int32 description: Pagination response PingIdpSettings: type: object properties: environmentId: type: string clientId: type: string clientSecret: type: string region: type: string description: Ping IdP Settings Policy: required: - name - assignedTo - rules type: object properties: id: readOnly: true type: string description: A unique identifier for the Policy. name: type: string description: A human-readable name for the Policy. description: type: string description: A human-readable description for the Policy. assignedTo: type: string description: The requester application that this Policy applies to. rules: type: array items: $ref: '#/components/schemas/Rule' description: All the rules that apply to this Policy. createdAt: readOnly: true type: string description: CreatedAt records the timestamp of when the Policy was initially created format: date-time description: Identity Service Policy. Proof: type: object properties: type: type: string description: The type of the proof proofPurpose: type: string description: The proof purpose proofValue: type: string description: The proof value description: "A data integrity proof provides information about the proof mechanism,\n parameters required to verify\ \ that proof, and the proof value itself." Rule: required: - name - tasks - action - needsApproval type: object properties: id: readOnly: true type: string description: A unique identifier for the Rule. name: type: string description: A human-readable name for the Rule. description: type: string description: A human-readable description for the Rule. policyId: readOnly: true type: string tasks: type: array items: $ref: '#/components/schemas/Task' description: The tasks that this Rule applies to. action: enum: - RULE_ACTION_UNSPECIFIED - RULE_ACTION_ALLOW - RULE_ACTION_DENY type: string description: The action applied for the rule when calling the specified tasks format: enum needsApproval: type: boolean description: Need User Approval for this Rule. createdAt: readOnly: true type: string description: CreatedAt records the timestamp of when the Rule was initially created format: date-time description: Identity Service Policy Rule SetIssuerRequest: required: - issuerSettings type: object properties: issuerSettings: allOf: - $ref: '#/components/schemas/IssuerSettings' description: The Issuer Settings to set up. Settings: type: object properties: apiKey: readOnly: true allOf: - $ref: '#/components/schemas/ApiKey' description: An API Key for the Identity Service. issuerSettings: allOf: - $ref: '#/components/schemas/IssuerSettings' description: Settings for the Issuer. description: Identity Settings Status: type: object properties: code: type: integer description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. format: int32 message: type: string description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. details: type: array items: $ref: '#/components/schemas/GoogleProtobufAny' description: A list of messages that carry the error details. There is a common set of message types for APIs to use. description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).' Task: type: object properties: id: readOnly: true type: string description: A unique identifier for the Task. name: readOnly: true type: string description: A human-readable name for the Task. description: readOnly: true type: string description: A human-readable description for the Task. appId: readOnly: true type: string description: An application ID for the Task. toolName: readOnly: true type: string description: A tool name for the Task. description: Identity Service Policy Task TokenRequest: type: object properties: authorizationCode: type: string description: Pass the code received from the authorization endpoint. TokenResponse: type: object properties: accessToken: type: string description: The access token issued to the Agent or MCP Server. UpdatePolicyRequest: type: object properties: policyId: type: string description: Policy Id to update. name: type: string description: A human-readable name for the Policy. description: type: string description: A human-readable description for the Policy. assignedTo: type: string description: The requester application that this policy applies to. UpdateRuleRequest: type: object properties: policyId: type: string description: The Policy Id to which these Rules belong. ruleId: type: string description: Rule Id to update. name: type: string description: A human-readable name for the Rule. description: type: string description: A human-readable description for the Rule. tasks: type: array items: type: string description: The tasks that this Rule applies to. needsApproval: type: boolean description: Need User Approval for this Rule. action: enum: - RULE_ACTION_UNSPECIFIED - RULE_ACTION_ALLOW - RULE_ACTION_DENY type: string description: The action applied for the rule when calling the tasks format: enum VerifiableCredential: type: object properties: context: type: array items: type: string description: https://www.w3.org/TR/vc-data-model/#contexts type: type: array items: type: string description: https://www.w3.org/TR/vc-data-model/#dfn-type issuer: type: string description: https://www.w3.org/TR/vc-data-model/#issuer credentialSubject: allOf: - $ref: '#/components/schemas/BadgeClaims' description: https://www.w3.org/TR/vc-data-model/#credential-subject id: type: string description: https://www.w3.org/TR/vc-data-model/#identifiers issuanceDate: type: string description: https://www.w3.org/TR/vc-data-model/#issuance-date expirationDate: type: string description: https://www.w3.org/TR/vc-data-model/#expiration credentialSchema: type: array items: $ref: '#/components/schemas/CredentialSchema' description: https://www.w3.org/TR/vc-data-model-2.0/#data-schemas credentialStatus: type: array items: $ref: '#/components/schemas/CredentialStatus' description: https://www.w3.org/TR/vc-data-model-2.0/#status proof: allOf: - $ref: '#/components/schemas/Proof' description: https://w3id.org/security#proof description: "DataModel represents the W3C Verifiable Credential Data Model defined [here]\n\n [here]: https://www.w3.org/TR/vc-data-model/" VerificationResult: type: object properties: status: type: boolean description: A boolean status document: allOf: - $ref: '#/components/schemas/VerifiableCredential' description: A conforming document which represents the Verifiable Credential mediaType: type: string description: 'The media type of the Verifiable Credential (ex: application/vc)' controller: type: string description: "The controller of the verification method associated with the securing mechanism,\n usually it represents\ \ the issuer." controlledIdentifierDocument: type: string description: "A controlled identifier document that is associated with the verification method\n used to verify\ \ the securing mechanism (i,e the DID)" warnings: type: array items: $ref: '#/components/schemas/ErrorInfo' description: A list represents zero or more warnings generated by the verification process errors: type: array items: $ref: '#/components/schemas/ErrorInfo' description: A list represents zero or more errors generated by the verification process description: "The result returned from the verification process defined [here]\n\n [here]: https://www.w3.org/TR/vc-data-model-2.0/#verification" VerifyBadgeRequest: type: object properties: badge: type: string description: The JOSE enveloped badge to verify. headers: ? '' : null securitySchemes: AccessToken: type: http description: An IAM JWT token issued to a user during an OIDC flow. scheme: bearer bearerFormat: JWT ApiKey: type: apiKey description: An IAM Api key. name: x-id-api-key in: header security: - AccessToken: [] ApiKey: [] tags: - name: AppService description: AppService manages apps. - name: AuthService description: AuthService manages auth. - name: BadgeService description: BadgeService manages badges. - name: DeviceService description: DeviceService manages device. - name: PolicyService description: PolicyService manages policy. - name: SettingsService description: SettingsService manages settings.