> ## Documentation Index
> Fetch the complete documentation index at: https://sendcloud.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create or overwrite shop order statuses

> Insert shop-specific custom statuses into the Sendcloud system.

<Warning>
  Only the Prestashop V2 integration is supported.
</Warning>

Note that:

* Integrations can have their own custom shop statuses.
* To get your order updates in time, Sendcloud needs to know what statuses are available.
* This endpoint updates all existing statuses. That includes creating new statuses, changing existing ones, and deleting ones that no longer exist.


## OpenAPI

````yaml /.openapi/v3/integrations/openapi.yaml post /shop-order-statuses
openapi: 3.1.0
info:
  title: Integrations
  version: 3.0.0
  contact:
    name: Sendcloud API Support
    email: contact@sendcloud.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: >-
    The Integrations API lets you manage some aspects of your integrations, and
    set and retrieve available shop order statuses.
servers:
  - url: https://panel.sendcloud.sc/api/v3
    description: Sendcloud Production
security: []
tags:
  - name: Integrations
    description: IntegrationsAPI
  - name: Exception logs
    description: Integration exception logs API
paths:
  /shop-order-statuses:
    post:
      tags:
        - Integrations
      summary: Create or overwrite shop order statuses
      description: Insert shop-specific custom statuses into the Sendcloud system.
      operationId: sc-public-v3-integrations-post-shop_order_statuses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post-shop-order-statuses'
            examples:
              PostOrderShopStatuses:
                summary: Upserting available shop order statuses
                description: >-
                  Setting all available shop order statuses with their available
                  translations.
                value:
                  integration_id: 23452345
                  statuses:
                    - external_id: Send-4
                      translations:
                        - status: Sent
                          language: en-gb
                        - status: Verzonden
                          language: nl-nl
                    - external_id: '15'
                      translations:
                        - status: Delivered
                          language: en-gb
                        - status: Bezorgt
                          language: nl-nl
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                type: 'null'
              examples:
                Response:
                  value: null
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
              examples:
                WrongPayloadFormatRequested:
                  value:
                    errors:
                      - status: '400'
                        code: non_field_errors
                        title: Wrong format
                        detail: Wrong request format, expected object
      security:
        - HTTPBasicAuth: []
components:
  schemas:
    post-shop-order-statuses:
      title: POST Shop Order Statuses
      description: POST request with shop order statuses with translations.
      type: object
      required:
        - integration_id
        - statuses
      properties:
        integration_id:
          type: integer
          description: ID of the integration to which these statuses belong.
          example: 252345
        statuses:
          type: array
          description: Available shop statuses.
          uniqueItems: true
          minItems: 0
          items:
            type: object
            required:
              - external_id
              - translations
            properties:
              external_id:
                type: string
                description: ID linked to the order status inside the integrated webshop.
                example: 17-B
              translations:
                type: array
                minItems: 1
                maxItems: 7
                uniqueItems: true
                items:
                  type: object
                  required:
                    - status
                    - language
                  properties:
                    status:
                      type: string
                      description: Order status
                      example: Delivered
                    language:
                      type: string
                      description: Language of the status.
                      example: en-gb
                      enum:
                        - en-us
                        - en-gb
                        - fr-fr
                        - de-de
                        - nl-nl
                        - es-es
                        - it-it
    errors:
      title: Errors
      type: object
      description: A standardized format for errors in JSON:API responses.
      properties:
        errors:
          type:
            - array
            - object
          items:
            type: object
            allOf:
              - $ref: '#/components/schemas/ErrorObject'
            required:
              - status
              - code
              - detail
    ErrorObject:
      title: Error
      type: object
      description: Error in a JSON:API error format
      properties:
        id:
          type: string
          description: A unique identifier for the error.
        links:
          type: object
          description: >-
            A set of hyperlinks that provide additional information about the
            error.
          properties:
            about:
              type: string
              description: A URL that provides additional information about the error.
        status:
          type: string
          format: int32
          description: The HTTP status code of the error.
          minLength: 1
        code:
          type: string
          description: A unique error code for the error, in snake case format.
          minLength: 1
          enum:
            - unknown_field
            - invalid
            - forbidden
            - invalid_choice
            - min_value
            - 'null'
            - not_found
            - required
            - not_a_list
            - non_field_errors
            - authentication_failed
            - validation_error
            - parcel_announcement_error
        title:
          type: string
          description: A short, human-readable summary of the error.
          minLength: 1
        detail:
          type: string
          description: A human-readable explanation of the error.
          minLength: 1
        source:
          type: object
          description: >-
            An object that identifies the source of the error within the request
            payload.
          properties:
            pointer:
              type: string
              description: >-
                A `JSON` pointer to the location of the error within the request
                payload.
            parameter:
              type: string
              description: The name of the `query` parameter that caused the error.
            header:
              type: string
              description: The name of the `header` parameter that caused the error.
        meta:
          type: object
          description: Additional metadata about the error.
  securitySchemes:
    HTTPBasicAuth:
      type: http
      description: >-
        Basic Authentication using API key and secrets is currently the main
        authentication mechanism.
      scheme: basic

````