openapi: 3.1.0 info: title: Shipments Address Subscriptions API version: 3.0.0 description: The Shipments API allows you to create and announce, retrieve, and cancel outgoing shipments and their associated parcels within the Sendcloud platform. contact: name: Sendcloud API Support email: contact@sendcloud.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://panel.sendcloud.sc/api/v3 description: Sendcloud Production tags: - name: Subscriptions paths: /event-subscriptions/subscriptions: post: summary: Create a subscription description: Create a new subscription that routes events of a specific type to a connection. tags: - Subscriptions operationId: sc-public-v3-scp-post-create_subscription security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] x-mint: href: /api/v3/event-subscriptions/create-a-subscription content: "Create a subscription that routes a specific event type to a connection for delivery.\n\nA subscription links an event type (e.g., `parcels.event.created`) to a connection endpoint. When the event occurs, the event payload is delivered to the connection's configured endpoint.\n\n\n Subscriptions are active by default. Set `is_active` to `false` to create a paused subscription.\n" requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/subscription-create-request' examples: CreateSubscription: summary: Create a subscription for parcel events value: connection_id: 1 event_type: parcels.event.created is_active: true responses: '201': description: Created content: application/json: schema: description: Subscription created type: object properties: data: $ref: '#/components/schemas/subscription' examples: SubscriptionCreated: summary: Subscription created value: data: id: 1 connection_id: 1 event_type: parcels.event.created is_active: true created_at: '2026-01-15T11:00:00Z' updated_at: '2026-01-15T11:00:00Z' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errors' examples: ValidationError: summary: Validation error value: errors: - detail: This field is required. status: '400' source: pointer: /data/connection_id code: required '429': description: Throttled get: summary: List subscriptions description: Retrieve all subscriptions for the authenticated user's organization. tags: - Subscriptions operationId: sc-public-v3-scp-get-list_subscriptions security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] x-mint: href: /api/v3/event-subscriptions/list-subscriptions parameters: - schema: type: string in: query name: event_type description: Filter by event type. - schema: type: boolean in: query name: is_active description: Filter by active status. responses: '200': description: OK content: application/json: schema: description: List of subscriptions type: object properties: data: type: array items: $ref: '#/components/schemas/subscription' required: - data examples: ListSubscriptions: summary: List of subscriptions value: data: - id: 1 connection_id: 1 event_type: parcels.event.created is_active: true created_at: '2026-01-15T11:00:00Z' updated_at: '2026-01-15T11:00:00Z' - id: 2 connection_id: 2 event_type: parcels.event.created is_active: false created_at: '2026-01-16T09:15:00Z' updated_at: '2026-01-16T09:15:00Z' '429': description: Throttled /event-subscriptions/subscriptions/{id}: parameters: - schema: type: integer in: path name: id description: The id of the subscription. required: true get: summary: Get a subscription description: Retrieve a specific subscription by its id. tags: - Subscriptions operationId: sc-public-v3-scp-get-subscription security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] x-mint: href: /api/v3/event-subscriptions/get-a-subscription responses: '200': description: OK content: application/json: schema: description: Subscription details type: object properties: data: $ref: '#/components/schemas/subscription' examples: GetSubscription: summary: Get a subscription value: data: id: 1 connection_id: 1 event_type: parcels.event.created is_active: true created_at: '2026-01-15T11:00:00Z' updated_at: '2026-01-15T11:00:00Z' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errors' patch: summary: Update a subscription description: Update an existing subscription by its id. Only the fields provided in the request body will be updated. tags: - Subscriptions operationId: sc-public-v3-scp-patch-subscription security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] x-mint: href: /api/v3/event-subscriptions/update-a-subscription content: "Update an existing subscription. You can change the connection, event type, or toggle the active state.\n\n\n Set `is_active` to `false` to pause event delivery without deleting the subscription.\n" requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/subscription-update-request' examples: PauseSubscription: summary: Pause a subscription value: is_active: false ChangeConnection: summary: Route events to a different connection value: connection_id: 2 responses: '200': description: OK content: application/json: schema: description: Updated subscription type: object properties: data: $ref: '#/components/schemas/subscription' examples: UpdatedSubscription: summary: Updated subscription value: data: id: 1 connection_id: 2 event_type: parcels.event.created is_active: false created_at: '2026-01-15T11:00:00Z' updated_at: '2026-01-20T14:30:00Z' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errors' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errors' delete: summary: Delete a subscription description: Delete a specific subscription by its id. Event delivery for this subscription will stop immediately. tags: - Subscriptions operationId: sc-public-v3-scp-delete-subscription security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] x-mint: href: /api/v3/event-subscriptions/delete-a-subscription responses: '204': description: No Content '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errors' components: schemas: subscription: title: Subscription description: A subscription routes a specific event type to a connection for delivery. type: object properties: id: type: integer format: int64 minimum: 1 description: Unique identifier of the subscription. connection_id: type: integer format: int64 minimum: 1 description: The identifier of the connection this subscription delivers events to. event_type: type: string description: The type of event this subscription listens for. enum: - parcels.event.created is_active: type: boolean description: Whether the subscription is currently active and delivering events. created_at: type: string format: date-time description: The date and time when the subscription was created, in ISO 8601 format. updated_at: type: string format: date-time description: The date and time when the subscription was last updated, in ISO 8601 format. 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 subscription-create-request: title: Create Subscription request description: Request body for creating a new subscription. type: object required: - connection_id - event_type properties: connection_id: type: integer format: int64 minimum: 1 description: The identifier of the connection to deliver events to. event_type: type: string description: The type of event to subscribe to. enum: - parcels.event.created is_active: type: boolean description: Whether the subscription should be active immediately. Defaults to `true`. default: true subscription-update-request: title: Update Subscription request description: Request body for updating an existing subscription. All fields are optional. type: object properties: connection_id: type: integer format: int64 minimum: 1 description: The identifier of the connection to deliver events to. event_type: type: string description: The type of event to subscribe to. enum: - parcels.event.created is_active: type: boolean description: Whether the subscription should be active. 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.