---
title: "Service:Create"
method: POST
path: "/v2/services"
tags: ["Services"]
---

# Service:Create

`POST /v2/services`

In order for a merchant to use our processing APIs the merchant needs to have at least one service registered. A merchant can have multiple services, normally one for each service they offer. You can also supply a merchant, if you have access to that merchant you can create a service for that merchant.

## Request body

- ServiceInputService — Input for creating or updating a service.
  - `merchantCode` string, nullable
  - `service` ServiceInputServiceService, required — Represents Service details within the service input.
    - `name` string
    - `description` string, nullable
    - `publication` ServiceInputServiceServicePublication — Represents Publication details in the Service input.
      - `domainUrl` string
      - `aliasUrls` string[]
    - `contactPhone` string, nullable
    - `contactEmail` string, nullable
    - `legalRegistrationNumber` string, nullable
    - `address` ServiceInputServiceServiceAddress — Represents the Address details in the Service input.
      - `code` string, nullable
      - `streetName` string, nullable
      - `streetNumber` string, nullable
      - `zipCode` string, nullable
      - `city` string, nullable
      - `countryCode` string, nullable
    - `categoryCode` string
    - `layoutCode` string, nullable
    - `tradeNameCode` string, nullable
    - `testMode` boolean
    - `integrationVersionCode` string, nullable
    - `turnoverGroupCode` string, nullable

## Response `201`

Created

- ServiceOutputService — Represents a single Service.
  - `code` string — The code of your service. You can find the service code here: https://my.pay.nl/programs/programs
  - `secret` string — A 40 character secret
  - `merchant` ServiceOutputMerchant — Represents Merchant information in the Service output.
    - `code` string
    - `status` 'ACTIVE' | 'INACTIVE'
    - `name` string
  - `name` string — The name of the service
  - `description` string, nullable — A short description of the service
  - `translations` object — Object containing all the translations with the property name in which the corresponds with a property on the object itself.
  - `category` ServiceOutputCategory — Represents Category information in the Service output.
    - `code` string — The CY-code for a category.
    - `name` string, nullable — The name of the category
  - `mcc` integer, nullable — The MCC identifier
  - `tradeName` ServiceOutputTradeName — Represents Trade Name information in the Service output.
    - `code` string — The TM-code for a trademark.
    - `name` string, nullable — The name of the trade name
  - `testMode` boolean — Whether or not the service is in test mode
  - `status` 'ACTIVE' | 'BLOCKED' | 'TO_BE_CHECKED' — The status that the service has
  - `integrationVersion` ServiceOutputIntegrationVersion — Represents integration version information in the Service output.
    - `code` string — The PV-code for a integration version.
    - `name` string, nullable — The name of the integration version
  - `turnoverGroup` ServiceOutputTurnoverGroup — Represents Turnover Group information in the Service output.
    - `code` string
    - `name` string, nullable
  - `reviewedAt` string, date-time, nullable
  - `createdAt` string, date-time, nullable — The date and time at which this entity was created in ISO-8601 (ATOM) notation
  - `createdBy` string, nullable — The reference to an account or token whom created the entity
  - `modifiedAt` string, date-time, nullable — The date and time at which this entity was modified in ISO-8601 (ATOM) notation.
  - `modifiedBy` string, nullable — The reference to an account or token whom modified this entity
  - `deletedAt` string, date-time, nullable — The date and time at which this entity was deleted in ISO-8601 (ATOM) notation.
  - `deletedBy` string, nullable — The reference to an account or token whom deleted the entity

## Other responses

- `400` — Bad request, see response body for more information
- `401` — Unauthorized. Supplied credentials are invalid
- `403` — Forbidden. Supplied credentials have no rights
- `404` — Resource not found
- `405` — Used HTTP method is not allowed
- `406` — Not acceptable. The supplied content type in the accept parameter in the header is not supported
- `410` — Indicates that this resource is no longer available for use
- `415` — Unsupported media. The supplied content type in the content-type parameter in the header is not supported
- `422` — Unprocessable entity, see response body for more information
- `429` — Rate limit reached.
- `500` — An internal error occurred.
- `503` — The server is currently unable to handle your request

---

[API](https://skmtc.net/pay/apis/pay-transaction-gateway-unit-api.md) · [All operations](https://skmtc.net/pay/apis/pay-transaction-gateway-unit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pay/pay-transaction-gateway-unit-api/versions/2bc260c7bdfc/schema)
