HERE Manage SAML identity providers API

APIs to manage SAML Identity Providers for a Realm.

Business capability
Identity & Access Management BC-620.20

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /realms/{realm}/samlIdentityProviders Add a SAML identity provider to a realm · Create a SAML identity provider #
Ask an LLM
“How do I set up single sign-on by adding a SAML identity provider to my realm?”
“Can I validate SAML metadata without actually creating the identity provider?”
Tell an agent
Create SAML identity provider {name} in realm {realm} from template {identityProviderTemplateId} with metadata {metadataContent}.
Dry-run validation {validateOnly} of SAML provider {name} for realm {realm} using template {identityProviderTemplateId} and metadata {metadataContent}.
GET /realms/{realm}/samlIdentityProviders List a realm's SAML identity providers · Get the list of SAML identity providers #
Ask an LLM
“Which SAML identity providers are configured for my realm?”
“Can I list only the enabled SAML identity providers?”
Tell an agent
List the SAML identity providers in realm {realm}.
Show SAML identity providers in realm {realm} where enabled is {enabled}.
POST /realms/{realm}/samlIdentityProviders/{samlIdentityProvider}/enable Enable a SAML identity provider for login · Enable identity provider #
Ask an LLM
“How do I switch my realm to log in through a SAML identity provider?”
“Can I keep password login available after enabling SAML sign-on?”
Tell an agent
Enable SAML identity provider {samlIdentityProvider} in realm {realm}.
Turn on SSO via {samlIdentityProvider} for realm {realm} with password login allowed {allowPasswordLogin}.
POST /realms/{realm}/samlIdentityProviders/{samlIdentityProvider}/disable Disable a SAML identity provider · Disable identity provider #
Ask an LLM
“How do I turn off SAML sign-on for my realm?”
“Does disabling the only SAML provider revert the realm to password login?”
Tell an agent destructive · confirm first
Disable SAML identity provider {samlIdentityProvider} in realm {realm}.
Stop realm {realm} logging in through {samlIdentityProvider} but keep its configuration.
GET /realms/{realm}/samlIdentityProviders/{samlIdentityProvider} Get a SAML identity provider's configuration · Get a SAML identity provider #
Ask an LLM
“What entity ID and SSO login URL are set on a SAML identity provider?”
“How do I view the configuration of one SAML provider in my realm?”
Tell an agent
Get SAML identity provider {samlIdentityProvider} in realm {realm}.
Show the SAML configuration of {samlIdentityProvider} for realm {realm}.
PATCH /realms/{realm}/samlIdentityProviders/{samlIdentityProvider} Update a SAML identity provider · Update SAML identity provider #
Ask an LLM
“How do I update the metadata of an existing SAML identity provider?”
“Can I change the SSO login URL on a SAML provider already configured?”
Tell an agent
Update SAML identity provider {samlIdentityProvider} in realm {realm} with new metadata {metadataContent}.
Change the SSO login URL of {samlIdentityProvider} in realm {realm} to {ssoLoginUrl}.
DELETE /realms/{realm}/samlIdentityProviders/{samlIdentityProvider} Delete a SAML identity provider · Remove SAML identity provider #
Ask an LLM
“How do I permanently remove a SAML identity provider from my realm?”
“Can I delete a SAML provider configuration I no longer use?”
Tell an agent destructive · confirm first
Delete SAML identity provider {samlIdentityProvider} from realm {realm}.
Remove the {samlIdentityProvider} SAML configuration from realm {realm} entirely.

Documentation

📖
Documentation
https://docs.here.com/identity-and-access-management/docs
📖
APIReference
https://docs.here.com/identity-and-access-management/reference
📖
Documentation
https://docs.here.com/data-api/docs
📖
APIReference
https://docs.here.com/data-api/reference
📖
Documentation
https://docs.here.com/usage/docs
📖
APIReference
https://docs.here.com/usage/reference
📖
Documentation
https://docs.here.com/destination-weather/docs
📖
APIReference
https://docs.here.com/destination-weather/reference
📖
Documentation
https://docs.here.com/ev-products/docs
📖
APIReference
https://docs.here.com/ev-products/reference
📖
Documentation
https://docs.here.com/fuel-prices/docs
📖
APIReference
https://docs.here.com/fuel-prices/reference
📖
Documentation
https://docs.here.com/geocoding-and-search/docs
📖
APIReference
https://docs.here.com/geocoding-and-search/reference
📖
Documentation
https://docs.here.com/routing/docs
📖
APIReference
https://docs.here.com/routing/reference
📖
Documentation
https://docs.here.com/positioning/docs
📖
APIReference
https://docs.here.com/positioning/reference
📖
Documentation
https://docs.here.com/indoor-map/docs
📖
APIReference
https://docs.here.com/indoor-map/reference
📖
Documentation
https://docs.here.com/transit/docs
📖
APIReference
https://docs.here.com/transit/reference
📖
Documentation
https://docs.here.com/map-attributes/docs
📖
APIReference
https://docs.here.com/map-attributes/reference
📖
Documentation
https://docs.here.com/map-rendering/docs
📖
APIReference
https://docs.here.com/map-rendering/reference
📖
Documentation
https://docs.here.com/workspace/docs
📖
APIReference
https://docs.here.com/workspace/reference
📖
Documentation
https://docs.here.com/tour-planning/docs
📖
APIReference
https://docs.here.com/tour-planning/reference
📖
Documentation
https://docs.here.com/tracking/docs
📖
APIReference
https://docs.here.com/tracking/reference
📖
Documentation
https://docs.here.com/traffic-api/docs
📖
APIReference
https://docs.here.com/traffic-api/reference
📖
Documentation
https://docs.here.com/wego-pro/docs
📖
APIReference
https://docs.here.com/wego-pro/reference

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/here:here-manage-saml-identity-providers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

here-manage-saml-identity-providers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Authentication API v1.1 Manage SAML identity providers API
  version: 1.1.x
  description: 'This specification describes the Authentication v1.1 APIs.

    NOTE: Swagger UI automatically URL encodes parameters when required.

    If/when the APIs are called elsewhere make sure to URL encode the parameters when required.'
servers:
- url: Use API Lookup for a base URL
tags:
- name: Manage SAML identity providers
  description: APIs to manage SAML Identity Providers for a Realm.
paths:
  /realms/{realm}/samlIdentityProviders:
    post:
      tags:
      - Manage SAML identity providers
      summary: Create a SAML identity provider
      description: 'Create an identity provider

        * Supports the creation of SAML identity providers.

        * Addition of identity providers will not enable them by default, it needs to be enabled explicitly.


        Access Control:

        * The calling principal must have **"manageSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: createIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - name: validateOnly
        description: If set to true, only metadata content will be validated and SAML identity provider creation will be skipped. By default, false.
        in: query
        schema:
          type: boolean
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlIdpConfigRequest'
        required: true
      responses:
        '200':
          description: Ok. When validateOnly query parameter is set to true.
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdpConfigValidateOnlyResponse'
        '201':
          description: Created
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdpConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Manage SAML identity providers
      summary: Get the list of SAML identity providers
      description: 'Get the list of SAML identity providers configured with the realm.


        Access Control:

        * The calling principal must have **"readSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: getIdpConfigs
      parameters:
      - $ref: '#/components/parameters/Realm'
      - name: enabled
        description: If true, returns only enabled SAML identity providers. If false, returns only those that are not enabled. Returns all SAML identity providers if not included in request.
        in: query
        schema:
          type: boolean
      - $ref: '#/components/parameters/PageToken'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      responses:
        '200':
          description: OK
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdpConfigResponseWithPageToken'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /realms/{realm}/samlIdentityProviders/{samlIdentityProvider}/enable:
    post:
      tags:
      - Manage SAML identity providers
      summary: Enable identity provider
      description: 'Enables a SAML identity provider for a realm. If there is any other enabled SAML identity provider, it will be disabled.

        The realm''s login method will be changed to ''saml''. ''password'' logins can also be allowed, if the ''allowPasswordLogin''

        parameter was provided.


        Access Control:

        * The calling principal must have **"manageSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: enableIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - $ref: '#/components/parameters/SamlIdentityProviderHrn'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/AllowPasswordLogin'
      security:
      - Bearer: []
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /realms/{realm}/samlIdentityProviders/{samlIdentityProvider}/disable:
    post:
      tags:
      - Manage SAML identity providers
      summary: Disable identity provider
      description: 'Disables a SAML identity provider for a realm. If no other enabled SAML identity provider exists, the realm login method will be changed to ''password''.


        Access Control:

        * The calling principal must have **"manageSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: disableIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - $ref: '#/components/parameters/SamlIdentityProviderHrn'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /realms/{realm}/samlIdentityProviders/{samlIdentityProvider}:
    get:
      tags:
      - Manage SAML identity providers
      summary: Get a SAML identity provider
      description: 'Get a SAML identity provider configuration for a realm.


        Access Control:

        * The calling principal must have **"readSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: getIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - $ref: '#/components/parameters/SamlIdentityProviderHrn'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      responses:
        '200':
          description: OK
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdpConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      tags:
      - Manage SAML identity providers
      summary: Update SAML identity provider
      description: 'Update a SAML identity provider for a realm.


        Access Control:

        * The calling principal must have **"manageSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: updateIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - $ref: '#/components/parameters/SamlIdentityProviderHrn'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlIdpUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdpConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Manage SAML identity providers
      summary: Remove SAML identity provider
      description: 'Deletes a SAML identity provider for a realm.


        Access Control:

        * The calling principal must have **"manageSamlIdentityProviders"** action permission for the resource **"{realm}"** in the **"account"** service.

        * The calling principal MUST NOT include a project scope.'
      operationId: deleteIdpConfig
      parameters:
      - $ref: '#/components/parameters/Realm'
      - $ref: '#/components/parameters/SamlIdentityProviderHrn'
      - $ref: '#/components/parameters/XCorrelationId'
      - $ref: '#/components/parameters/XRequestId'
      security:
      - Bearer: []
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Unable to delete, Identity provider in use.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          headers:
            X-Correlation-ID:
              $ref: '#/components/headers/XCorrelationId'
            X-Request-ID:
              $ref: '#/components/headers/XRequestId'
components:
  schemas:
    ErrorDetail:
      type: object
      properties:
        title:
          type: string
          description: Error message
          example: Invalid size value
        source:
          type: string
          description: Reference to JSON path
          example: $.data.attributes[0].size
        message:
          type: string
          description: Detailed error message
          example: Size must be between 3 and 64
        messageTemplate:
          type: string
          description: Optional error template
          example: validation.constraint.between
        messagePlaceholders:
          type: object
          additionalProperties: {}
          example:
            field: size
            min: 3
            max: 64
    ErrorMessage:
      type: object
      required:
      - title
      - status
      - code
      - cause
      - action
      - correlationId
      example:
        title: Input data failed validation
        status: 400
        code: E110000
        cause: The input data in question does not meet validation rules
        action: Actionable instructions for the user.
        correlationId: 6c1bce6d-d31f-4275-9d9f-6832d8ba2377
      properties:
        title:
          type: string
          description: Title of the error.
        status:
          type: integer
          minimum: 0
          maximum: 999
          description: HTTP status code of error message.
        code:
          type: string
          description: Identifier for the detailed error code for programmatic error handling.
        cause:
          type: string
          description: The cause of the error.
        action:
          type: string
          description: Actionable instructions for the user.
        correlationId:
          type: string
          description: The Correlation ID for the request for tracking purposes.
    PageWithToken:
      type: object
      required:
      - limit
      - total
      - items
      properties:
        limit:
          type: integer
          example: 1
          description: number of entries in the response.
        pageToken:
          type: string
          example: KuMvTQrdHVVKuMDDdcIvTQrdci1FWdcIHVVci1FW
          description: The cursor for pagination. Present only if there is an additional page of data to view.
        total:
          type: integer
          example: 1
          description: The number of federations matching the search criteria.
    SamlIdpConfigRequest:
      type: object
      required:
      - name
      - identityProviderTemplateId
      - metadataContent
      properties:
        name:
          type: string
          description: IdP's display name.
          example: Okta Login!
        identityProviderTemplateId:
          type: string
          description: Identity provider (okta/entra/generic).
          example: okta
        metadataContent:
          type: string
          description: Base-64 encoded metadata xml content.
          example: PG1kOkVudGl0eURlc2NyaXB0b3IKCXhtbG5zOm1kPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLj==
        metadataSource:
          type: string
          description: Path to the IdP metadata file (file path or URL).
          example: /root/meta.xml
        entityId:
          type: string
          description: Issuer Id provided for the IdP. This will be extracted from the metadata if not provided.
          example: https://www.example.com/mySso
        ssoLoginUrl:
          type: string
          description: Login url for the IdP. This will be extracted from the metadata if not provided.
          example: https://here.example.com/sso/saml
    SamlIdpUpdateRequest:
      type: object
      properties:
        name:
          type: string
          description: Idp's display name.
          example: Okta Login!
        identityProviderTemplateId:
          type: string
          description: Identity provider (okta/entra/generic).
          example: okta
        entityId:
          type: string
          description: Issuer Id provided for the IDP
          example: https://www.example.com/mySso
        ssoLoginUrl:
          type: string
          description: Login url for the IDP
          example: https://here.example.com/sso/saml
        metadataSource:
          type: string
          description: Path to the IdP metadata file (file path or URL).
          example: File
        metadataContent:
          type: string
          description: Base-64 encrypted metadata xml content.
          example: PG1kOkVudGl0eURlc2NyaXB0b3IKCXhtbG5zOm1kPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLj==
    SamlIdpConfigResponseWithPageToken:
      type: object
      allOf:
      - $ref: '#/components/schemas/PageWithToken'
      - type: object
        properties:
          items:
            type: array
            items:
              $ref: '#/components/schemas/SamlIdpConfigResponse'
            description: List of IdP configurations.
    Error403Response:
      type: object
      required:
      - title
      - status
      - code
      - cause
      - action
      - correlationId
      properties:
        title:
          description: Error title
          type: string
          example: These credentials do not authorize access for this operation.
        status:
          description: HTTP Status Code
          type: integer
          example: 403
        code:
          description: Service specific error code
          type: string
          example: E202101
        cause:
          description: The cause of the error
          type: string
          example: App/User WgxjTzUL8sTbq5fMDPDg/HERE-f7ef7b16-6deb-4b44-986f-d86deed59980 credentials do not authorize access to perform manage action on hrn:here:authorization::HERE:serviceDescriptor/SERVICE-00000000-0000-0000-0000-000000000000 via SERVICE-00000000-0000-0000-0000-000000000000 because No matching permissions found for the identity, its groups and roles, or the realm.
        action:
          description: Actionable instructions for the API consumer
          type: string
          example: Add/Share the necessary permissions to the identity.
        correlationId:
          description: Trace ID associated with this request.
          type: string
          example: 4199533b-6290-41db-8d79-edf4f4019a74
        errorId:
          type: string
          example: ERROR-9d862c5a-4cfd-4780-8be4-2728b42849e1
          description: Unique id for the error. This is searchable from HERE Account logs.
        error:
          type: string
          description: Human-readable error
          example: invalid_request
        error_description:
          type: string
          description: Human-readable error description
          example: 'errorCode: 403403. These credentials do not authorize access for this operation.'
    ErrorResponse:
      type: object
      required:
      - title
      - status
      - code
      - cause
      - action
      - errorId
      properties:
        title:
          description: Error title
          type: string
          example: Input data failed validation
        errorId:
          type: string
          example: ERROR-9d862c5a-4cfd-4780-8be4-2728b42849e1
          description: Unique id for the error. This is searchable from HERE Account logs.
        status:
          description: HTTP Status Code
          type: integer
          example: 400
        code:
          description: Service specific error code
          type: string
          example: E202101
        cause:
          description: The cause of the error
          type: string
          example: The input data in question does not meet validation rules
        action:
          description: Actionable instructions for the API consumer
          type: string
          example: Correct input data and retry request
        correlationId:
          description: Trace ID associated with this request, for future use
          type: string
          example: 4199533b-6290-41db-8d79-edf4f4019a74
        details:
          type: array
          description: Collection of error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
    SamlIdpConfigResponse:
      type: object
      properties:
        samlIdentityProviderHrn:
          type: string
          description: HRN of the IdP
          example: hrn:here:account::myRealm:samlIdentityProvider/IDP-4451d8ed-42cd-4de1-ac16-3fa1ed7f393d
        name:
          type: string
          description: IdP's display name.
          example: Okta Login!
        identityProviderTemplateId:
          type: string
          description: Identity provider (okta/entra/generic).
          example: okta
        entityId:
          type: string
          description: IdP entity Id.
          example: https://www.example.com/mySso
        ssoLoginUrl:
          type: string
          description: The login url for IdP
          example: https://here.example.com/sso/saml
        created:
          type: string
          format: date-time
          example: '2023-01-21T17:32:28Z'
        enabled:
          type: boolean
          description: Whether the IdP config is enabled or not
          example: true
        callback:
          type: string
          description: Service provider's callback url.
          example: https://account.here.com/saml/callback
        spMetadataUrl:
          type: string
          description: Url to get service provider metadata.xml file content.
          example: https://account.here.com/identityProvider/aHJuOmhlcmU6YWNjb3VudDo6bXlSZWFs/metadata
        spCertificateUrl:
          type: string
          description: Url to get service provider public key certificate.
          example: https://account.here.com/identityProvider/aHJuOmhlcmU6YWNjb3VudDo6bXlSZWFs/cert
    GenericError404Response:
      type: object
      required:
      - title
      - status
      - code
      - cause
      - action
      - correlationId
      properties:
        title:
          description: Error title
          type: string
          example: Resource not found.
        status:
          description: HTTP Status Code
          type: integer
          example: 404
        code:
          description: Service specific error code
          type: string
          example: E202101
        cause:
          description: The cause of the error
          type: string
          example: Resource not found.
        action:
          description: Actionable instructions for the API consumer
          type: string
          example: Validate input parameters and retry.
        correlationId:
          description: Trace ID associated with this request.
          type: string
          example: 4199533b-6290-41db-8d79-edf4f4019a74
        errorId:
          type: string
          example: ERROR-3c7cae72-f407-4d75-807d-bc1689fbbd4d
          description: Unique id for the error. This is searchable from HERE Account logs.
        error:
          type: string
          description: Human-readable error
          example: invalid_request
        error_description:
          type: string
          description: Human-readable error description
          example: Resource not found.
    SamlIdpConfigValidateOnlyResponse:
      type: object
      properties:
        name:
          type: string
          description: IdP's display name.
          example: Okta Login!
        identityProviderTemplateId:
          type: string
          description: Identity provider (okta/entra/generic).
          example: okta
        entityId:
          type: string
          description: IdP entity Id.
          example: https://www.example.com/mySso
        ssoLoginUrl:
          type: string
          description: The login url for IdP
          example: https://here.example.com/sso/saml
    Error401Response:
      type: object
      required:
      - title
      - status
      - code
      - cause
      - action
      - correlationId
      properties:
        title:
          type: string
          example: ''
          description: ''
        status:
          description: HTTP Status Code
          type: integer
          example: 401
        code:
          description: Service specific error code
          type: string
          example: E202101
        cause:
          description: The cause of the error
          type: string
          example: The input data in question does not meet validation rules
        action:
          description: Actionable instructions for the API consumer
          type: string
          example: Correct input data and retry request
        correlationId:
          description: Trace ID associated with this request.
          type: string
          example: 4199533b-6290-41db-8d79-edf4f4019a74
        errorId:
          type: string
          example: ERROR-9d862c5a-4cfd-4780-8be4-2728b42849e1
          description: Unique id for the error. This is searchable from HERE Account logs.
        message:
          description: Authorization error message
          type: string
          example: Unauthorized to perform this operation.
  responses:
    NotFound:
      description: The requested resource was not found, see error response for details
      headers:
        X-Correlation-ID:
          $ref: '#/components/headers/XCorrelationId'
        X-Request-ID:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError404Response'
    NoContent:
      description: No Content
      headers:
        X-Correlation-ID:
          $ref: '#/components/headers/XCorrelationId'
        X-Request-ID:
          $ref: '#/components/headers/XRequestId'
    Forbidden:
      description: You do not have permission to perform this action
      headers:
        X-Correlation-ID:
          $ref: '#/components/headers/XCorrelationId'
        X-Request-ID:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403Response'
    BadRequest:
      description: Invalid input provided, see error response for details
      headers:
        X-Correlation-ID:
          $ref: '#/components/headers/XCorrelationId'
        X-Request-ID:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Access is denied due to invalid credentials
      headers:
        X-Correlation-ID:
          $ref: '#/components/headers/XCorrelationId'
        X-Request-ID:
          $ref: '#/components/headers/XRequestId'
        WWW-Authenticate:
          $ref: '#/components/headers/WWWAuthenticate'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401Response'
  headers:
    WWWAuthenticate:
      schema:
        type: string
      required: true
      description: Must be included If the protected resource request does not include authentication credentials or does not contain an access token that enables access to the protected resource. The value must have at least one challenge and must be followed by a comma separated list having one or more authentication param values. In case of OAuth2.0, the challenge must use the auth-scheme value "Bearer".
    XRequestId:
      schema:
        type: string
      required: false
      description: The unique id for the request, used to track this request within the service. X-Request-ID value is NOT propagated to the downstream services.
    XCorrelationId:
      schema:
        type: string
      required: false
      description: The X-Correlation-ID for the request, used to track this request in the platform. X-Correlation-ID value is propagated throughout the platform.
  parameters:
    AllowPasswordLogin:
      in: query
      required: false
      name: allowPasswordLogin
      schema:
        type: boolean
      description: "Flag indicating if password login should be allowed after enabling identity provider for the realm. \nIf omitted, the value is defaulted to false.\n\ntrue - both 'password' and 'saml' login methods are allowed\nfalse - 'saml' is the only allowed login method for the realm\n"
    PageToken:
      name: pageToken
      in: query
      required: false
      description: 'If there are more records than ''limit'' (between 1 and 100), and there are multiple pages of records, ''pageToken'' allows for retrieval of individual pages. In order to retrieve subsequent pages, the client should provide the pageToken returned in the result from the previous API call as input to the following API call.


        Example: If the result for a call to GET /items returns *{..., "pageToken": "abcdefg"}*, in order  to retrieve the next page of ''items'' the client should call GET /items?pageToken=abcdefg

        '
      schema:
        type: string
    Realm:
      in: path
      required: true
      name: realm
      schema:
        type: string
      description: "HRN identifying the Realm.  You can also use the shorthand \"me\" to refer to the Realm HRN indicated by your \naccess token context.\n"
      example: hrn:here:account::org123456789:realm/org123456789
    SamlIdentityProviderHrn:
      in: path
      name: samlIdentityProvider
      required: true
      description: HRN for the specific SAML IdP configuration with a realm
      schema:
        type: string
      example: hrn:here:account::myRealm:samlIdentityProvider/IDP-4451d8ed-42cd-4de1-ac16-3fa1ed7f393d
    XCorrelationId:
      in: header
      name: X-Correlation-ID
      schema:
        type: string
      required: false
      description: 'Correlates HTTP requests between a client and server. If not present in the incoming request, it will be generated. This header and value will be included in all loglines including access logs. It will also be propagated to downstream services and returned in the response.

        '
    XRequestId:
      in: header
      name: X-Request-ID
      schema:
        type: string
      required: false
      description: 'The unique for the request, used to track this request within the service. X-Request-ID value is NOT propagated to the downstream services.

        '
    Limit:
      in: query
      name: limit
      required: false
      description: Number of records to return. Default is 100 records. Maximum is 100 records.
      schema:
        type: integer
        minimum: 0
        maximum: 100
        default: 100
  securitySchemes:
    UserOrClientBearerToken:
      type: http
      scheme: bearer
      description: Bearer Token issued to either User or Client.
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'A HERE access token obtained from one of the supported OAuth 2.0 authorization flows.

        For more information on how to get a bearer token, see the

        [https://www.here.com/docs/bundle/identity-and-access-management-developer-guide/page/README.html](Identity & Access Management Guide).

        '
externalDocs:
  description: The developer guide and related API references are available here.
  url: https://www.here.com/docs/category/identity-and-access-management