diff --git a/devops/development-pipeline.yml b/devops/development-pipeline.yml
new file mode 100644
index 0000000000000000000000000000000000000000..398dc9fdf092ac38fcd00c5a4025bf7cba4ee319
--- /dev/null
+++ b/devops/development-pipeline.yml
@@ -0,0 +1,63 @@
+#####################
+# README: Defines a template to be used as a starting point for defining a service pipeline
+#####################
+
+trigger:
+  batch: true
+  branches:
+    include:
+      - master
+  paths:
+    exclude:
+      - /**/*.md
+      - .gitignore
+      - images/
+
+pr:
+  autoCancel: true
+  branches:
+    include:
+      - '*'
+  paths:
+    exclude:
+      - /**/*.md
+      - .gitignore
+      - images/
+
+resources:
+  repositories:
+    - repository: osdu-infrastructure
+      type: git
+      name: osdu-r2/osdu-infrastructure
+
+variables:
+  - group: 'Azure Common Secrets'
+  - group: 'Azure - Common'
+
+  - name: serviceName
+    value: 'legal'
+
+stages:
+  - template: devops/service-pipelines/build-stage.yml@osdu-infrastructure
+    parameters:
+      mavenGoal: 'package'
+      mavenPublishJUnitResults: true
+      serviceCoreMavenOptions: '-P legal-core'
+      mavenOptions: '-P legal-azure'
+      copyFileContents: |
+        pom.xml
+        provider/legal-azure/maven/settings.xml
+        provider/legal-azure/pom.xml
+        provider/legal-azure/target/*-spring-boot.jar
+      copyFileContentsToFlatten: ''
+      mavenSettingsFile: './maven/settings.xml'
+      serviceBase: ${{ variables.serviceName }}
+      testingRootFolder: 'testing'
+  - template: devops/service-pipelines/deploy-stages.yml@osdu-infrastructure
+    parameters:
+      serviceName: ${{ variables.serviceName }}
+      testCoreMavenPomFile: 'testing/legal-test-core/pom.xml'
+      testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/deploy/testing/maven/settings.xml'
+      providers:
+        -  name: Azure
+           environments: ['test']
\ No newline at end of file
diff --git a/provider/legal-azure/README.md b/provider/legal-azure/README.md
index 1a1bc406bd4bda06aff2d39e4fd4f2694826e0eb..9154f0013c4d45c8821c75ef7c3673b6668fdb35 100644
--- a/provider/legal-azure/README.md
+++ b/provider/legal-azure/README.md
@@ -40,6 +40,7 @@ az keyvault secret show --vault-name $KEY_VAULT_NAME --name $KEY_VAULT_SECRET_NA
 | name | value | description | sensitive? | source |
 | ---  | ---   | ---         | ---        | ---    |
 | `LOG_PREFIX` | `legal` | Logging prefix | no | - |
+| `server.servlet.contextPath` | `/api/legal/v1/` | Servlet context path | no | - |
 | `legal_service_region` | `us` | Legal service region | no | - |
 | `entitlements_service_endpoint` | ex `https://foo-entitlements.azurewebsites.net` | Entitlements API endpoint | no | output of infrastructure deployment |
 | `entitlements_service_api_key` | `********` | The API key clients will need to use when calling the service | yes | -- |
diff --git a/provider/legal-azure/src/main/resources/application.properties b/provider/legal-azure/src/main/resources/application.properties
index e7dae37ff058df1a45e9ceaa5e22f224d3460d9e..9e34853a1c3a0d2f4f00af9e0d96f6781f0c067a 100644
--- a/provider/legal-azure/src/main/resources/application.properties
+++ b/provider/legal-azure/src/main/resources/application.properties
@@ -13,6 +13,7 @@
 #  limitations under the License.
 
 LOG_PREFIX=legal
+server.servlet.contextPath=/api/legal/v1/
 
 REGION=${legal_service_region}
 AUTHORIZE_API=${entitlements_service_endpoint}