---
title: "Complete store onboarding"
method: POST
path: "/v1/stores"
tags: ["account_pairing_endpoints"]
deprecated: true
---

# Complete store onboarding

`POST /v1/stores`

## Request

- Base URL: `https://partners.tryotter.com`
- URL: `https://partners.tryotter.com/v1/stores`
- Auth: OAuth 2
  - Authorization code: `/v1/auth/oauth2/authorize`
  - Client credentials
  - Token URL: `/v1/auth/token` scopes: `stores.manage`
- TypeScript: <https://skmtc.dev/cloudkitchens/apis/otter-api/docs/v1/stores/post.ts> (a function with typed inputs; its response is checked against the schema)

> **Deprecated.**

Callback for the Upsert Store webhook. Use this endpoint  to inform if the store data and credentials provided through the `Upsert Store Webhook` were enough to  create/update and validate the store. If informing success, the `Store ID` must be provided to  complete the store onboarding process. If informing failure, use the `Error Message` field to provide  details about the problem.
Rate limit: 2 requests per minute.

## Headers

- `X-Application-Id` string, required: The plain-text Application ID, provided at partner onboarding, also available on Otter Developer Portal.
- `X-Event-Id` string, required: Unique identifier of the event that this callback refers to.

## Request body

- UpsertStorelinkEventResultRequest
  - `success` boolean, required: Indicates if your app successfully created and validated the credential provided through the `Upsert Store Webhook`.
  - `storeId` string, nullable: The unique identifier of the store in your app. This ID, along with the `Application ID`, will be used to match the correct store when performing operations. It cannot be longer than 255 characters and must only contain printable ASCII characters.
  - `errorMessage` object, nullable: The error response object.
    - `message` string: The error description.
    - `details` ErrorDetail[]: The error details.
      - `attribute` string: The error attribute.
      - `message` string: The error detail description.

## Response `204`

If informing success, it means the store onboarding process is complete. If informing failure, it means new credentials need to be provided through the Upsert Store Webhook.

## Other responses

- `400`: The request is malformed.
- `401`: Invalid authorization.
- `403`: Authorization not valid for the requested resource.
- `404`: Resource not found.
- `422`: The request body is not valid.

---

[API](https://skmtc.dev/cloudkitchens/apis/otter-api.md) - [All operations](https://skmtc.dev/cloudkitchens/apis/otter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudkitchens/apis/otter-api/revisions/4c868194a467?raw)
