TransUnion Authentication Service API

This API endpoint uses the following data elements ('required' elements identified) in the REQUEST to create a SIP Identity header. Based on the HTTP header of 'Content-Type' (e.g. json, text/plain), the request body (data) can include various data elements. Please refer to the examples for more details. Three different API entry points are defined for SIP Identity header creation: * Accepts requests in JSON format and produces responses in JSON format * Accepts text messages in text/plain and produces responses in JSON format * Accepts text messages in text/plain and produces responses in text/plain format

Operations 5

POST /authn/v2/identityj-j Request & Response in JSON Format #
POST /authn/v2/identitys-j Text Message & Response in JSON Format #
POST /authn/v2/identitys-s Text Message & Response in Text Format #
POST /authn/v2/identitymps Multipart - Text/JSON Message & Response in Text Format #
POST /authn/v2/identitympj Multipart - Text/JSON Message & Response in JSON Format #

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/transunion-authentication-service-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

transunion-authentication-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  x-logo:
    url: https://raw.githubusercontent.com/neustar/tcs-apis/main/docs/newNeustarLogo.jpeg
    altText: STIR/SHAKEN Authentication & Verification Service APIs
  version: 1.0.0
  title: STIR/SHAKEN Authentication & Verification Service Authentication Service API
  summary: null
  description: "# Overview\n  Secure Telephone Identity Revisited (STIR) and the Signature-based Handling of Asserted information using toKENs (SHAKEN) framework have already become regulatory mandates in both the United States and Canada for caller identity authentication.  These IETF and ATIS standards define how to securely compute, transit and verify SIP Identity headers through an Authentication Service (AS) and Verification Service (VS).\n\n  Since their initial implementation, STIR and SHAKEN standards have been (and continue to be) extended in multiple ways.  Additionally, the AS and VS can support supplemental features including, but not limited to telephone number ownership validation, subscriber-based policy management and robocall analytics.\n  \n  The AS and VS implement call authentication and related functions ideally through flexible, extensible, robust and standardized Application Program Interfaces (APIs).  Many initial implementations of the SHAKEN framework employ RESTful API clients, but these are constrained to only supporting base functionality.  The STIR/SHAKEN API project promotes collaboration to expand functionality, while hopefully also achieving industry alignment amongst various RESTful API implementations and/or applicable standards, where possible.\n\n  There are generally two ways to authenticate a RESTful API client - 'apiKey' or 'coming from a whitelisted client IP'.  Both are initially supported in the STIR/SHAKEN API project.  If a RESTful API client chooses to use 'apiKey' for authentication, an 'apiKey' query parameter, with a pre-provisioned value, is validated to access API calls that are restricted. If the 'apiKey' parameter is not specified, a pre-provisioned client IP address may be used as the backup authentication mechanism.  The server first checks for availability of an 'apiKey' in the query parameter and if it doesn't find one, it tries to authenticate via the client IP address.\n\n  The primary objective of the STIR/SHAKEN API project is to foster broad and open industry collaboration amongst developers and implementers of (or those desiring to implement) RESTful APIs for timely and extensible support of evolving caller identity authentication standards, including supplemental feature support as required.  The core set of ATIS SHAKEN standards supported in this project, including their underlying and/or referenced IETF and 3GPP standards, are:\n  * ATIS-1000074, “SHAKEN”\n  * ATIS-1000078, “National Security / Emergency Preparedness Priority Service SIP RPH Signing and Verification using PASSporTs”\n  * ATIS-1000080, “SHAKEN: Governance Model and Certificate Management”\n  * ATIS-1000084, “Operational and Management Considerations for SHAKEN STI Certification Authorities and Policy Administrators”\n  * ATIS-1000085, “SHAKEN: SHAKEN Support of “div” PASSporT”\n  * ATIS-1000092, “SHAKEN: Delegate Certificates\n  * ATIS-1000093, “Toll-Free Numbers in the SHAKEN Framework”\n  * ATIS-1000094, “SHAKEN: Calling Name and Rich Call Data Handling Procedures”\n  * ATIS-1000098, “SIP Resource-Priority Header and Priority Header Signing in Support of Emergency Calling”\n\nLooking forward to your support, feedback and contributions.\n"
servers:
- url: https://{hostname}:{port}/{optionalRoutingPath}
  description: https
tags:
- name: Authentication Service
  description: "This API endpoint uses the following data elements ('required' elements identified) in the REQUEST to create a SIP Identity header. Based on the HTTP header of 'Content-Type' (e.g. json, text/plain), the request body (data) can include various data elements. Please refer to the examples for more details.\n\nThree different API entry points are defined for SIP Identity header creation:\n  * Accepts requests in JSON format and produces responses in JSON format\n  * Accepts text messages in text/plain and produces responses in JSON format\n  * Accepts text messages in text/plain and produces responses in text/plain format\n"
paths:
  /authn/v2/identityj-j:
    post:
      tags:
      - Authentication Service
      description: 'This API entry point accepts requests and produces responses in JSON Format.

        '
      summary: Request & Response in JSON Format
      operationId: authn/identityj-j
      parameters:
      - name: apiKey
        in: query
        schema:
          type: string
        description: Required, if client chooses to authenticate via apiKey. Not required, if client chooses to authenticate via pre-provisioned client IP
      - name: ppt
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. PASSporT type value. If specified, must be 'shaken', 'div', 'rcd' or 'rph'. If not specified, default ppt=shaken by authentication server
        required: false
        style: form
        schema:
          type: string
      - name: attest
        in: query
        required: false
        description: Only applicable when SIP INVITE message is included in the request body. Attestation indicator claim value.'attest' value specified by ATIS-1000074.v002. If specified, must be a either "A", "B" or "C". If not specified, default attest=A by authentication server
        schema:
          type: string
      - name: origid
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Origination identifier claim value. 'origid' value specified by ATIS-1000074.v002. If specified, should be a unique string corresponding to a UUID (RFC 4122). If not specified, authentication server would add a UUID.
        required: false
        style: form
        schema:
          type: string
      - name: compact
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Flag for compact SIP Identity header, ignored for 'shaken' PASSporT type. If specified, must be true or false
        required: false
        style: form
        schema:
          type: boolean
      - name: origcc
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Default country code for the originator telephone number. If specified, must be a valid country code
        required: false
        style: form
        schema:
          type: string
      - name: destcc
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Default country code for the destination telephone number. If specified, must be a valid country code
        required: false
        style: form
        schema:
          type: string
      - name: verstat
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Verstat value as defined in ETSI TS 124 299, for performing tagging and the SIP Identity header optionally removed
        required: false
        style: form
        schema:
          type: string
      - name: identity
        in: query
        description: Only applicable when SIP INVITE message is included in the request body. Flag for including SIP Identity header when the "verstat" parameter is specified, with the default value as "true". If specified, must be true or false
        required: false
        style: form
        schema:
          type: boolean
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Identity'
          text/plain:
            examples:
              request:
                value: 'INVITE sip:7035550021@proxy.example.com;transport=UDP SIP/2.0

                  v: SIP/2.0/UDP proxy.example.com:39089;branch=z9hG4bK

                  Max-Forwards: 70

                  m: "Alice" <sip:5715550001@proxy.example.com:39089;transport=UDP>

                  t: "Bob" <sip:+17035550002@example.com>

                  f: "Alice" <sip:+15715550001@example.com>;tag=1f4e4f40

                  i: YzRlZDFlYzYyM2IwOTdlMzk0MDA3MTRmZmY3OGIzODM.

                  P-Asserted-Identity: Alice <sip:+15715550001@example.com>

                  CSeq: 2 INVITE

                  Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE

                  c: application/sdp

                  Date: Fri, 14 May 2021 16:57:04 GMT

                  k: replaces, norefersub, extended-refer, timer, X-cisco-serviceuri

                  User-Agent: Z 3.3.25608 r25552

                  Allow-Events: presence, kpml

                  l: 425


                  v=0

                  o=Z 0 0 IN IP4 10.31.32.251

                  s=Z

                  c=IN IP4 10.31.32.251

                  t=0 0

                  m=audio 8000 RTP/AVP 8 0 3 110 98 101

                  a=fingerprint:md5 14:75:8F:1A:FD:44:C0:9B:79:92:07:3C:CF:00:B4:3D

                  a=fingerprint:sha-256 AE:C0:70:64:5F:E5:3E:E3:B3:76:30:59:37:61:34:F0:58:CC:33:72:47:C9:78:AD:D1:78:B6:CC:DF:B0:01:9F

                  a=rtpmap:110 speex/8000

                  a=rtpmap:98 iLBC/8000

                  a=fmtp:98 mode=20

                  a=rtpmap:101 telephone-event/8000

                  a=fmtp:101 0-15

                  a=sendrecv

                  '
      x-summary: null
      x-code-samples:
      - lang: curl
        label: STIR
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\"\n        }'\n\nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2MzQyNDIwMTcsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9fQ.q2JsLmI-ApIqPpPVnsoQNrD4tpdFv5lLD-80PrJ6WB8YDVF_70CEUetBjxI8-4-5gH91Hu3xLkDqmTeNUUatIw;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256\",\n  \"date\" : \"Thu, 14 Oct 2021 20:06:57 GMT\"\n}\n"
      - lang: curl
        label: SHAKEN
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"passport_type\" : \"shaken\",\n          \"date\" : \"Thu, 14 Oct 2021 20:09:58 GMT\",\n          \"attest\" : \"A\",\n          \"origid\" : \"3F9C2836-7E40-11E7-BA58-7831C1B8DEBA\"\n        }'\n        \nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjM0MjQyMTk4LCJvcmlnIjp7InRuIjoiMTcwMzU1NTAwMDEifSwib3JpZ2lkIjoiM0Y5QzI4MzYtN0U0MC0xMUU3LUJBNTgtNzgzMUMxQjhERUJBIn0.j3N_z0Eu7I_dcNQ9BTdoZ7AoBFRCetBX4RzOfj2vNSENJ4EdKUpehijGa8xy-5kZgV3I_alJsKxI8XoV2aTm5w;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"shaken\\\"\"\n}\n"
      - lang: curl
        label: STIR Compact
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"compact\" : true\n        }'\n\nResponse: \n{\n  \"identity\" : \"..owRURoDJ-Z-Dz2sWcpAe7cM5hgWcNtPlqixaTdXdKrEe0R2GmB2mbXruVyJDTj2yXu1fH9jsaX2qtBWh43uskA;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256\",\n  \"date\" : \"Thu, 14 Oct 2021 22:00:10 GMT\"\n}\n"
      - lang: curl
        label: SHAKEN All Data
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"date\" : \"Thu, 14 Oct 2021 22:11:08 GMT\",\n          \"pai\" : [ \"\\\"Alice\\\" <tel:+17035550001>\", \"\\\"Alice\\\" <sip:+17035550001@example.com>\" ],\n          \"finger_print\" : [ {\n                              \"algorithm\" : \"SHA-1\",\n                              \"digest\" : \"4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB\"\n                              }, {\n                              \"algorithm\" : \"SHA-256\",\n                              \"digest\" : \"36:3B:AE:12:95:95:F5:97:2D:F7:E0:84:FE:CD:F1:BC:AD:7A:70:64:F7:E7:4F:7E:A6:02:06:0E:37:54:CF:F7\"\n                              } ],\n          \"dest_cc\" : \"1\",\n          \"orig_cc\" : \"1\",\n          \"compact\" : false,\n          \"passport_type\" : \"shaken\",\n          \"attest\" : \"A\",\n          \"origid\" : \"3F9C2836-7E40-11E7-BA58-7831C1B8DEBA\",\n          \"request_id\" : \"X-REQUEST-ID-12345\"\n        }'\n\nResponse: \n{\n  \"request_id\" : \"X-REQUEST-ID-12345\",\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjM0MjQ5NDY4LCJta3kiOlt7ImFsZyI6IlNIQS0xIiwiZGlnIjoiNEFBREI5QjEzRjgyMTgzQjU0MDIxMkRGM0U1RDQ5NkIxOUU1N0NBQiJ9LHsiYWxnIjoiU0hBLTI1NiIsImRpZyI6IjM2M0JBRTEyOTU5NUY1OTcyREY3RTA4NEZFQ0RGMUJDQUQ3QTcwNjRGN0U3NEY3RUE2MDIwNjBFMzc1NENGRjcifV0sIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJvcmlnaWQiOiIzRjlDMjgzNi03RTQwLTExRTctQkE1OC03ODMxQzFCOERFQkEifQ.XQ28K2sQr9v4MKZLY-s4zwNr1sFwWGNdrBY4f2xudrgMo1uRHklZXyzTfNvIDV23ZVkmCcxJE_SbaHX0Dl-eQA;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"shaken\\\"\"\n}\n"
      - lang: curl
        label: SHAKEN w/RCD
        source: "<<<<<<<<<<<<<< RCD Service Needs to be enabled on the AS profile >>>>>>>>>>>>>\nRequest: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"date\" : \"Thu, 14 Oct 2021 22:14:48 GMT\",\n          \"pai\" : [ \"\\\"Alice\\\" <tel:+17035550001>\", \"\\\"Alice\\\" <sip:+17035550001@example.com>\" ],\n          \"finger_print\" : [ {\n          \"algorithm\" : \"SHA-1\",\n          \"digest\" : \"4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB\"\n          }, {\n          \"algorithm\" : \"SHA-256\",\n          \"digest\" : \"36:3B:AE:12:95:95:F5:97:2D:F7:E0:84:FE:CD:F1:BC:AD:7A:70:64:F7:E7:4F:7E:A6:02:06:0E:37:54:CF:F7\"\n          } ],\n          \"dest_cc\" : \"1\",\n          \"orig_cc\" : \"1\",\n          \"compact\" : false,\n          \"passport_type\" : \"shaken\",\n          \"call_info\" : \"<cid:example.com/alice.json>;purpose=jcard;call-reason=Travel.\",\n          \"caller_reason\": \"Travel.\",\n          \"caller_name\" : \"Alice Liddell\",\n          \"jcard\" : \"[\\\"vcard\\\",[[\\\"version\\\",{},\\\"text\\\",\\\"4.0\\\"],[\\\"fn\\\",{},\\\"text\\\",\\\"Alice Liddell\\\"],[ \\\"email\\\",{},\\\"text\\\",\\\"alice@example.com\\\"]]]\",\n          \"attest\" : \"A\",\n          \"origid\" : \"3F9C2836-7E40-11E7-BA58-7831C1B8DEBA\",\n          \"request_id\" : \"X-REQUEST-ID-12345\"\n        }'\n\nResponse: \n{\n  \"request_id\" : \"X-REQUEST-ID-12345\",\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxNTcxNTU1MDAwMCJdfSwiaWF0IjoxNjM0MjQ5Njg4LCJta3kiOlt7ImFsZyI6IlNIQS0xIiwiZGlnIjoiNEFBREI5QjEzRjgyMTgzQjU0MDIxMkRGM0U1RDQ5NkIxOUU1N0NBQiJ9LHsiYWxnIjoiU0hBLTI1NiIsImRpZyI6IjM2M0JBRTEyOTU5NUY1OTcyREY3RTA4NEZFQ0RGMUJDQUQ3QTcwNjRGN0U3NEY3RUE2MDIwNjBFMzc1NENGRjcifV0sIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJvcmlnaWQiOiIzRjlDMjgzNi03RTQwLTExRTctQkE1OC03ODMxQzFCOERFQkEifQ.Oyz1HateQwUcuFGHoTI1iHiUsQ-b60AoH6BjsSSb__b4Dzw0sNf7yhdl_iE5nHqPPJOY2zShHYfw0XWERIj6SA;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"shaken\\\"\"\n}\n"
      - lang: curl
        label: DIV
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"passport_type\" : \"div\",\n          \"diversion\" : \"\\\"John\\\" <sip:+17035550001@example.com>;reason=away\"\n        }'\n\nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJkaXYiOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJpYXQiOjE2MzQzMzk2MTksIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9fQ.0w3Kx99RO3DHx1YHYyiNxeMxsAeB0y-edoAEw482hRzgSPsrrY4i1s6QbtDZCNEkVexSF-84kM3oturUBkmgbQ;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"div\\\"\",\n  \"date\" : \"Fri, 15 Oct 2021 23:13:39 GMT\"\n}\n"
      - lang: curl
        label: RPH
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" :  \"<sip:+15715550000@example.com>\",\n          \"passport_type\" : \"rph\",\n          \"resource_priority\" : [ \"ets.0, wps.1\", \"q735.1\" ]\n        }'\n\nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJwaCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2MzQzNDAxMzIsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJycGgiOnsiYXV0aCI6WyJldHMuMCIsInE3MzUuMSIsIndwcy4xIl19fQ.WKLGgISGUxxxWAXZqlcodjTINjr4mZhuk5dFk8lL1voIV0Aycg5GbJFVnstbA4wMzlR_q2rbj3O9Oo4wUDrsgg;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"rph\\\"\",\n  \"date\" : \"Fri, 15 Oct 2021 23:22:12 GMT\"\n}\n"
      - lang: curl
        label: RCD w/nam
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=c07939ca0d0847038866f953' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"Bob\\\" <sip:+15715550000@example.com>\",\n          \"passport_type\" : \"rcd\"\n        }'\n\nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJjZCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jci11YXQuY2NpZC5uZXVzdGFyLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzExNDc1LjEwMDAxIn0.eyJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAwIl19LCJpYXQiOjE2MzQzNDAyNDcsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJyY2QiOnsibmFtIjoiQWxpY2UifX0.j22TEsFNP0uNtS4Yfyoi8oy1pfOa3QKGUDu8jMs21FbglrVaJcuRWYr4CT220uDdSTYL985TjGtygZZWs-MRUg;info=<https://cr-uat.ccid.neustar.biz/ccid/authn/v2/certs/11475.10001>;alg=ES256;ppt=\\\"rcd\\\"\",\n  \"date\" : \"Fri, 15 Oct 2021 23:24:07 GMT\"\n}\n"
      - lang: curl
        label: RCD All Data
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=a8b931787fe04e62af92dcf1' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n          \"from\" : \"\\\"Alice\\\" <sip:+17035550001@example.com>\",\n          \"to\" : \"\\\"John\\\" <sip:+15715550002@example.com>\",\n          \"passport_type\" : \"rcd\",\n          \"caller_reason\" : \"Travel\",\n          \"caller_name\" : \"Alice Liddell\",\n          \"alt_present_number\" : \"<sip:+18005550000@example.com>\",\n          \"jcard\" : \"[\\\"vcard\\\",[[\\\"version\\\",{},\\\"text\\\",\\\"4.0\\\"],[\\\"fn\\\",{},\\\"text\\\",\\\"Alice Liddell\\\"],[ \\\"email\\\",{},\\\"text\\\",\\\"alice@example.com\\\"]]]\",\n          \"jcard_uri\" : \"cid:123456\",\n          \"rcd_issuer\" : \"Disney, Inc.\",\n          \"rcd_integrity\" : true,\n          \"rcd_hash_algorithm\" : \"sha384\",\n          \"caller_reason\": \"Travel.\",\n          \"rcd_signature\": \"sha512-oODCNbWggTlXfGx1wMpFhdA6Kt2vLjNsRnwks+ffezUUTubjGLSUhqLkSjsE3SZKPWG+gywfYmKjcPtz6uMyog==\"\n        }'\n\nResponse: \n{\n  \"identity\" : \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJjZCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cDovLzEwLjc1LjMyLjE2OTo4MDgxL2NjaWQvYXV0aG4vdjIvY2VydHMvMTAxODgyLjEwMDQyNiJ9.eyJjcm4iOiJUcmF2ZWwiLCJkZXN0Ijp7InRuIjpbIjE1NzE1NTUwMDAyIl19LCJpYXQiOjE2NDQ1MjcwMDcsImlzcyI6IkRpc25leSwgSW5jLiIsIm9yaWciOnsidG4iOiIxNzAzNTU1MDAwMSJ9LCJyY2QiOnsiYXBuIjoiMTgwMDU1NTAwMDAiLCJqY2wiOiJjaWQ6MTIzNDU2IiwibmFtIjoiQWxpY2UgTGlkZGVsbCJ9LCJyY2RpIjp7Ii9hcG4iOiJzaGEzODQtRjQyd2htbEhLZnNtNmNzRUU4aXdBZzlsejkxL1JiUnQxUGJTQzFHSXJZMG4va1UzZHlOSFJ6WDdxV2s5R0l0WSIsIi9qY2wiOiJzaGEzODQtcVA1NEo0aUM2Y1B0L0ZmdXNLcEMwVlhoNjVvaFRZY2NQekRJUFdXZzRZc3F0ZFU3a2xiOVlIWFA2elp5dWlzayIsIi9uYW0iOiJzaGEzODQtbWtFV3lVdTA1b1UyMGYxNFVwN2xibnk3WDhDSndzT09zeVlQUllCWmYydExvQ2JoaEpLMkd4aGsyWFF5NUIzZyJ9fQ.VaFqs3J98BCW55dKljNHkeN6F7M0KW10dH0IhbdQfXHDUHDCbfNALIIwqKFhUXTJ55lX-y4u5_lZ-VSlXMLyHw;info=<http://10.75.32.169:8081/ccid/authn/v2/certs/101882.100426>;alg=ES256;ppt=\\\"rcd\\\"\",\n  \"date\" : \"Thu, 10 Feb 2022 21:03:27 GMT\"\n}\n"
      - lang: curl
        label: RPH w/SPH
        source: "Request: \ncurl 'https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/identity?apiKey=a8b931787fe04e62af92dcf1' -i -X POST \\\n    -H 'Content-Type: application/json' \\\n    -H 'Accept: application/json' \\\n    -d '{\n        \"from\": \"\\\"Alice\\\" <sip:alice@example.com>\",\n        \"to\": \"\\\"Bob\\\" <sip:5715550000@example.com>\",\n        \"passport_type\": \"rph\",\n        \"resource_priority\": [\n            \"ets.0, wps.1, esnet.1\",\n            \"q735.1\"\n        ],\n        \"priority\": \"psap-callback\"\n    }'\n\nResponse: \n{\n    \"identity\": \"eyJhbGciOiJFUzI1NiIsInBwdCI6InJwaCIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cDovLzEwLjc1LjMyLjE2OTo4MDgxL2NjaWQvYXV0aG4vdjIvY2VydHMvMTAxODgyLjEwMDQyNiJ9.eyJkZXN0Ijp7InRuIjpbIjU3MTU1NTAwMDAiXX0sImlhdCI6MTY0MzM5NDkxMiwib3JpZyI6eyJ1cmkiOiJzaXA6YWxpY2VAZXhhbXBsZS5jb20ifSwicnBoIjp7ImF1dGgiOlsiZXNuZXQuMSIsImV0cy4wIiwicTczNS4xIiwid3BzLjEiXX0sInNwaCI6InBzYXAtY2FsbGJhY2sifQ.wnFWAAHhBc9ON99oA8MHs9j-E_xoGmuxl4eCCBosHCpr3No3ysUEEj1oEqjB4xiW4Kb3PgbsDIcTPRikQuUKcA;info=<https://{hostname}:{port}/{optionalRoutingPath}/authn/v2/certs/101882.100426>;alg=ES256;ppt=\\\"rph\\\"\",\n    \"date\": \"Fri, 28 Jan 2022 18:35:12 GMT\"\n}\n"
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
            text/plain:
              examples:
                response:
                  value: 'HTTP/1.1 200 OK

                    Content-Type: text/plain;charset=UTF-8

                    Content-Length: 1981


                    INVITE sip:7035550021@proxy.example.com;transport=UDP SIP/2.0

                    v: SIP/2.0/UDP proxy.example.com:39089;branch=z9hG4bK

                    Max-Forwards: 70

                    m: "Alice" <sip:5715550001@proxy.example.com:39089;transport=UDP>

                    t: "Bob" <sip:+17035550002@example.com>

                    f: "Alice" <sip:+15715550001;verstat=TN-Validation-Passed@example.com>;tag=1f4e4f40

                    y: eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9jYS1hdXRobi5uZXVzdGFybGFiLmJpei9jY2lkL2F1dGhuL3YyL2NlcnRzLzIwMDAxLjEwMDAxIn0.eyJhdHRlc3QiOiJDIiwiZGVzdCI6eyJ0biI6WyIxNzAzNTU1MDAwMiJdfSwiaWF0IjoxNjIxMDExNDIyLCJta3kiOlt7ImFsZyI6Im1kNSIsImRpZyI6IjE0NzU4RjFBRkQ0NEMwOUI3OTkyMDczQ0NGMDBCNDNEIn0seyJhbGciOiJzaGEtMjU2IiwiZGlnIjoiQUVDMDcwNjQ1RkU1M0VFM0IzNzYzMDU5Mzc2MTM0RjA1OENDMzM3MjQ3Qzk3OEFERDE3OEI2Q0NERkIwMDE5RiJ9XSwib3JpZyI6eyJ0biI6IjE1NzE1NTUwMDAxIn0sIm9yaWdpZCI6ImZkYTYyM2EyLWE4OWQtMTFlOS1hZjgzLTAwNTA1NjlhYmIzNCJ9.pV58sy9KSKUCsM9VT_MzJ5srxib53d5xyoKcGBV9o-SJiAdaTB7t3vuxAh8WX8b6BMc_1P8mAk8WfKD3uSXGaA;info=<https://ca-authn.lab.biz/ccid/authn/v2/certs/20001.10001>;alg=ES256;ppt="shaken"

                    P-Attestation-Indicator: A

                    P-Origination-Id: AAA-BBB-CCCC

                    i: YzRlZDFlYzYyM2IwOTdlMzk0MDA3MTRmZmY3OGIzODM.

                    P-Asserted-Identity: Alice <sip:+15715550001;verstat=TN-Validation-Passed@example.com>

                    CSeq: 2 INVITE

                    Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE

                    c: application/sdp

                    Date: Fri, 14 May 2021 16:57:02 GMT

                    k: replaces, norefersub, extended-refer, timer, X-cisco-serviceuri

                    User-Agent: Z 3.3.25608 r25552

                    Allow-Events: presence, kpml

                    l: 425


                    v=0

                    o=Z 0 0 IN IP4 10.31.32.251

                    s=Z

                    c=IN IP4 10.31.32.251

                    t=0 0

                    m=audio 8000 RTP/AVP 8 0 3 110 98 101

                    a=fingerprint:md5 14:75:8F:1A:FD:44:C0:9B:79:92:07:3C:CF:00:B4:3D

                    a=fingerprint:sha-256 AE:C0:70:64:5F:E5:3E:E3:B3:76:30:59:37:61:34:F0:58:CC:33:72:47:C9:78:AD:D1:78:B6:CC:DF:B0:01:9F

                    a=rtpmap:110 speex/8000

                    a=rtpmap:98 iLBC/8000

                    a=fmtp:98 mode=20

                    a=rtpmap:101 telephone-event/8000

                    a=fmtp:101 0-15

                    a=sendrecv

                    '
        4xx:
          description: Error Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
              examples:
                ApiKeyRequired:
                  value:
                    error_id: ApiKeyRequired
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: API key is required
                    developer_message: API key is required
                    attributes:
                      key: value
                ApiKeyInvalid:
                  value:
                    error_id: ApiKeyInvalid
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: API key is invalid
                    developer_message: API key is invalid
                    attributes:
                      key: value
                CertificateIdRequired:
                  value:
                    error_id: CertificateIdRequired
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Certificate id is required
                    developer_message: Certificate id is required
                    attributes:
                      key: value
                CertificateIdInvalid:
                  value:
                    error_id: CertificateIdInvalid
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Certificate is invalid
                    developer_message: Certificate is invalid
                    attributes:
                      key: value
                DateParseException:
                  value:
                    error_id: DateParseException
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Date is expected to be in RFC 1123 format
                    developer_message: Date is expected to be in RFC 1123 format
                    attributes:
                      key: value
                MediaTypeException:
                  value:
                    error_id: MediaTypeException
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Content  Type is invalid or not supported
                    developer_message: Content  Type is invalid or not supported
                    attributes:
                      key: value
                MediaTypeNotAcceptableException:
                  value:
                    error_id: MediaTypeNotAcceptableException
                    http_status_code: 406
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Content  Type is not acceptable
                    developer_message: Content  Type is not acceptable
                    attributes:
                      key: value
                MediaTypeNotSupportedException:
                  value:
                    error_id: MediaTypeNotSupportedException
                    http_status_code: 415
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Content  Type is invalid or not supported
                    developer_message: Content  Type is invalid or not supported
                    attributes:
                      key: value
                MessageParseException:
                  value:
                    error_id: MessageParseException
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Error in parsing the request
                    developer_message: Error in parsing the request
                    attributes:
                      key: value
                InvalidParameterException:
                  value:
                    error_id: InvalidParameterException
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: Parameter is missing or invalid
                    developer_message: Parameter is missing or invalid
                    attributes:
                      key: value
                PptParameterValueNotSupported:
                  value:
                    error_id: PptParameterValueNotSupported
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: ppt parameter value is not supported
                    developer_message: ppt parameter value is not supported
                    attributes:
                      key: value
                OrigidValueNotAuthorized:
                  value:
                    error_id: OrigidValueNotAuthorized
                    http_status_code: 400
                    sip_code: 400
                    timestamp: Fri, 14 May 2021 16:57:02 GMT
                    reason: origid value is not authorized
                    developer_message: origid value is not authorized
                    attributes:
                      key: value
         

# --- truncated at 32 KB (434 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/transunion/refs/heads/main/openapi/transunion-authentication-service-api-openapi.yml