> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frankieone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an IDV Token for the given individual.

> Queries the IDV provider for a token to be used with their sdk. This allows a provider SDK to be instantiated, this is to be called before starting the IDV or OCR process.



## OpenAPI

````yaml /specs/fc-kyc-bundled_generated.yaml post /v2/individuals/{entityId}/actions/idv/token
openapi: 3.0.3
info:
  title: KYC V2 API
  version: 2.0.1
  description: >-
    This is the APIs for V2 KYC. It allows you to manage individuals, profiles,
    workflows, results, and documents in the context of Individuals.
  contact:
    name: FrankieOne
    url: https://www.frankieone.com/
    email: help@frankieone.com
servers:
  - url: https://api.uat.frankie.one
    description: UAT Environment API Base URL
  - url: https://api.frankie.one
    description: Production API Base URL
security:
  - Api-Key: []
tags:
  - name: Individual Entities
    description: Manage individual entity records
  - name: Individual Entity Elements
    description: Manage individual entity record elements
  - name: Individual Documents
    description: Manage documents for individuals
  - name: Individual Workflows
    description: Manage workflows and executions for individuals
  - name: Individual Results
    description: Manage results for individuals
  - name: Individual Profiles
    description: Manage individual profiles
  - name: Individual Risks
    description: Manage risks associated with an individual
  - name: Monitoring
    description: Turn on/off ongoing monitoring for an individual entity
  - name: HostedURL
    description: Manage hosted URLs for an individual
  - name: IDV
    description: Get a token and/or upload documents to initiate an IDV process
  - name: Search
    description: Search for entity profiles
paths:
  /v2/individuals/{entityId}/actions/idv/token:
    parameters:
      - $ref: '#/components/parameters/entityId'
    post:
      tags:
        - IDV
      summary: Get an IDV Token for the given individual.
      description: >-
        Queries the IDV provider for a token to be used with their sdk. This
        allows a provider SDK to be instantiated, this is to be called before
        starting the IDV or OCR process.
      operationId: getIDVToken
      parameters:
        - $ref: '#/components/parameters/Api-Key'
        - $ref: '#/components/parameters/X-Frankie-CustomerID'
        - $ref: '#/components/parameters/X-Frankie-CustomerChildID'
        - $ref: '#/components/parameters/X-Frankie-Channel'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IDV-Token-Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IDV-Token-Response'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid EntityId:
                  value:
                    errorCode: API-0400,
                    errorMsg: 'Multiple Errors: See Issues list'
                    details:
                      - issue: 'entityId in path must be of type uuid: "test"'
                        issueLocation: VALIDATE-entityId
                    requestId: 01HM5XJ7VASZ3EJMB1VQGTBFJ4
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid authentication:
                  value:
                    errorCode: AUTH-0002,
                    errorMsg: Unauthorized
                    details:
                      - issue: Invalid Authentication provided. Access denied.
                        issueLocation: request
                    requestId: 00000000S6MNG7624K2TDXT1E3
                No Api-Key:
                  value:
                    errorCode: AUTH-0401
                    errorMsg: Unauthorized
                    details:
                      - issue: No api key provided. Access denied.
                        issueLocation: request
                    requestId: 00000001S6MNG7624K2TDXT1E3
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Api-Key: []
        - jwt:
            - kyc:api
components:
  parameters:
    entityId:
      name: entityId
      in: path
      schema:
        type: string
      description: Unique FrankieOne identifier for an entity
      required: true
    Api-Key:
      name: api_key
      in: header
      schema:
        type: string
        example: 245c765b124a098d09ef8765....
      description: Your API key provided by FrankieOne
      required: true
    X-Frankie-CustomerID:
      name: X-Frankie-CustomerID
      in: header
      required: true
      schema:
        type: string
        example: 12345678-1234-1234-1234-123456789012
      description: Your Customer ID provided by FrankieOne
    X-Frankie-CustomerChildID:
      name: X-Frankie-CustomerChildID
      in: header
      required: false
      schema:
        type: string
        example: 87654321-4321-4321-4321-210987654321
      description: Your Customer Child ID provided by FrankieOne
    X-Frankie-Channel:
      name: X-Frankie-Channel
      in: header
      required: false
      schema:
        type: string
      description: >-
        Open string that can be used to define the "channel" the request comes
        in from. It can potentially be used in routing and risk calculations
        upon request. Default values that can be used are:  api portal smartui
        Any alphanumeric string is supported though. Anything over 64 characters
        will be truncated.
  schemas:
    IDV-Token-Request:
      type: object
      description: >-
        IDV Token Request, queries the IDV provider for a token to be used with
        their sdk. If there is an existing token for this given entity that
        isn't expired, that will be returned instead of a new token.
      properties:
        applicantId:
          description: >-
            ID of the applicant/individual in the IDV provider's system. Specify
            this if resuming/continuing an IDV check
          example: 412e8c806fdfb0bb19b5
          type: string
        applicationId:
          description: >-
            Reference or name of the application running this IDV check. Specify
            this if running this check embedded in a application rather than a
            web page.
          example: 94d9a75a5072444c
          type: string
        country:
          description: >-
            Country code to check for. Must be a ISO-3166 alpha-3 code entry.
            Only for use with providers that can restrict to a single country.
          example: AUS
          type: string
        documentType:
          description: >-
            Document type that will be used for the check. Can be one of
            DRIVERS_LICENCE, PASSPORT, NATIONAL_ID. . Only for use with
            providers that can restrict to a single document type.
          example: DRIVER_LICENCE
          type: string
        referrer:
          description: >-
            If this is for a web SDK, then you need to supply the referrer
            domain so that the token can be validated by the IDV service
          example: https://example.com
          type: string
        relayState:
          description: >-
            State from start of flow that should be relayed through the process
            via any redirects.
          example: 412e8c806fdfb0bb19b5
          type: string
        provider:
          description: >-
            What provider to use for the IDV check. This is the name of the
            provider as configured in the system. If not provided the default
            provider will be used.
          example: onfido
          type: string
        products:
          description: >-
            What product(s) for the provider to use for the IDV check. If not
            provided the default product for a provider will be used.
          example: idv
          type: array
          items:
            type: string
        vendorParameters:
          description: Vendor-specific parameters
          type: object
        comment:
          $ref: '#/components/schemas/Comment'
    IDV-Token-Response:
      type: object
      description: >-
        IDV Token Response, contains the token and it's expiry, and any vendor
        specific parameters.
      properties:
        applicantId:
          description: The ID of the applicant attached to this check.
          type: string
        country:
          description: Country code to check for. Must be a ISO-3166 alpha-3 code entry.
          example: AUS
          type: string
        documentType:
          description: Document type that will be used for the check.
          example: DRIVER_LICENCE
          type: string
        provider:
          description: >-
            Underlying provider, used for selecting the correct SDK if not using
            SmartUI.
          example: OCRLabs
          type: string
        smsSent:
          description: Has a sms to the user already been sent as part of the token request
          example: true
          type: boolean
        token:
          description: Tokens are only valid for a limited time.
          example: 41cf9401f0f889616bef
          type: string
        tokenExpiry:
          description: The time at which the provided token will expire.
          type: string
          format: date-time
          example: '2020-01-01T00:00:00.000Z'
        vendorParameters:
          description: >-
            Vendor specific parameters, used for passing through additional
            parameters from the vendor to instantiate the SDK.
          additionalProperties:
            type: string
          example:
            tokenURL: example1.com
          type: object
        requestId:
          $ref: '#/components/schemas/Request-ID'
    Error:
      type: object
      x-examples:
        '400':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0400
          errorMsg: Parsing credentials from "<invalid>" failed, because invalid.
          httpStatusCode: 400
        '401':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0401
          errorMsg: Unauthenticated due to invalid credentials.
          httpStatusCode: 401
        '409':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0409
          errorMsg: Conflict.
          httpStatusCode: 409
      allOf:
        - $ref: '#/components/schemas/Error-Base'
        - type: object
          properties:
            requestId:
              $ref: '#/components/schemas/Request-ID'
    Comment:
      type: object
      properties:
        commentId:
          type: string
          description: Unique identifier for the comment
          format: ulid
          example: 01K3G4CCQ3DY3B1413S19M9QW1
          readOnly: true
        text:
          type: string
          description: The text content of the comment.
          example: Update after speaking to customer over the phone directly.
        entityId:
          $ref: '#/components/schemas/Entity-ID-Writeable'
        entityType:
          $ref: '#/components/schemas/Entity-Type-Writeable'
    Request-ID:
      type: string
      example: 01HN9XHZN6MGXM9JXG50K59Q85
      description: The unique request identifier for the API call made.
    Error-Base:
      type: object
      properties:
        errorCode:
          type: string
        errorMsg:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
    Entity-ID-Writeable:
      type: string
      description: >-
        Entities are assigned a FrankieOne auto-generated UUID to ensure global
        uniqueness, represented as entityId. The entityId allows for precise
        modification when required.

        To modify an entity, set the entityId of the entity you wish to update
        in an update request.
      example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    Entity-Type-Writeable:
      type: string
      enum:
        - INDIVIDUAL
        - ORGANIZATION
        - UNKNOWN
      description: >-
        The type of entity within Frankie. This can be "INDIVIDUAL",
        "ORGANIZATION", or "UNKNOWN".
    Issue:
      type: object
      properties:
        issue:
          type: string
          description: Description of the issue.
        issueLocation:
          type: string
          description: The location or context where the issue was identified.
        issueType:
          type: string
          description: The type or category of the issue.
  securitySchemes:
    Api-Key:
      type: apiKey
      in: header
      name: api_key
      description: ''
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````