{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"PartnerAuthIngressService"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"partnerauthingressservice","__idx":0},"children":["PartnerAuthIngressService"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Partners are issued an API key, which they can use to fetch a token via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ExchangeApiKey"]},". This returns a short-lived token used as a bearer token on all subsequent requests for that session. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PartnerAuthIngressService"]}," exposes unauthenticated endpoints; all other services require the auth token, and may also require scope-specific identity headers."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"Authorization: Bearer <token>\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"exchangeapikey","__idx":1},"children":["ExchangeApiKey"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Exchanges a Partner API key for a Partner JWT to be used in the Headers of each request."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerAuthIngressService {\n  rpc ExchangeApiKey(ExchangeApiKeyRequest) returns (ExchangeApiKeyResponse);\n}\n\nmessage ExchangeApiKeyRequest {\n  string api_key = 1;\n}\n\nmessage ExchangeApiKeyResponse {\n  string auth_token = 1;\n  int64 expires_at_ms = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getself","__idx":2},"children":["GetSelf"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns information about the authenticated partner."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerAuthIngressService {\n  rpc GetSelf(GetSelfRequest) returns (GetSelfResponse);\n}\n\nmessage GetSelfRequest {}\n\nmessage GetSelfResponse {\n  string partner_uuid = 1;\n  string partner_name = 2;\n}\n","lang":"protobuf"},"children":[]}]},"headings":[{"value":"PartnerAuthIngressService","id":"partnerauthingressservice","depth":1},{"value":"ExchangeApiKey","id":"exchangeapikey","depth":2},{"value":"GetSelf","id":"getself","depth":2}],"frontmatter":{"title":"PartnerAuthIngress","seo":{"title":"PartnerAuthIngressService"}},"lastModified":"2026-09-14T19:48:02.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/grpc/partnerauthingressservice","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}