> ## 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: []
        - OAuth2ClientCreds: []
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
    OAuth2ClientCreds:
      type: oauth2
      description: >-
        OAuth2 is a standardized protocol for authorization that allows users to
        share their private resources stored on one site with another site
        without having to provide their credentials. OAuth2 Client Credentials
        Grant workflow. This workflow is typically used for server-to-server
        interactions that require authorization to access specific resources.
      flows:
        clientCredentials:
          tokenUrl: https://account.sendcloud.com/oauth2/token/
          scopes:
            api: Default OAuth scope required to access Sendcloud API.

````