# Application service (gRPC)

A service that returns metadata about the Core application.

## Endpoints

### Get application URL

gRPC `/nominal.application.v1.ApplicationService/GetApplicationUrl`

Get the application url

Request: `GetApplicationUrlRequest`

A message with no fields.

Response: `GetApplicationUrlResponse`

`url` string
:   ​

Request

**Python**

```python
import grpc
from nominal.protos.application.v1 import application_pb2, application_pb2_grpc

channel = grpc.secure_channel("api.gov.nominal.io:443", grpc.ssl_channel_credentials())
application_service = application_pb2_grpc.ApplicationServiceStub(channel)
auth = [("authorization", "Bearer <api key>")]

request = application_pb2.GetApplicationUrlRequest()
response = application_service.GetApplicationUrl(request, metadata=auth)
print(response)
```

**Go**

```go
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"log"

	applicationv1 "github.com/nominal-io/nominal-api-protos-go/nominal/protos/application/v1"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/metadata"
)

func main() {
	conn, err := grpc.NewClient("api.gov.nominal.io:443",
		grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})))
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close()
	applicationService := applicationv1.NewApplicationServiceClient(conn)
	ctx := metadata.AppendToOutgoingContext(context.Background(), "authorization", "Bearer <api key>")

	request := &applicationv1.GetApplicationUrlRequest{}
	response, err := applicationService.GetApplicationUrl(ctx, request)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(response)
}
```

Response

```json
{
  "url": "<url>"
}
```

Page design based on [Scalar](https://scalar.com), MIT License.
