Sinch Registrations API

Create, update, delete, and track sender ID registrations for compliance with local messaging regulations.

Documentation

Specifications

Other Resources

OpenAPI Specification

sinch-registrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sinch Brands Access Control Lists Registrations API
  description: The Sinch Brands API allows developers to create, update, and manage customer brand profiles used across Sinch messaging products. Brands represent the business identity associated with messaging campaigns and sender registrations. The API provides endpoints for creating brand records, updating brand details, listing brands, and deleting brands, enabling programmatic management of the brand entities required for compliant business messaging.
  version: '1.0'
  contact:
    name: Sinch Support
    url: https://www.sinch.com/contact-us/
  termsOfService: https://www.sinch.com/terms-of-service/
servers:
- url: https://brands.api.sinch.com
  description: Global Production Server
security:
- bearerAuth: []
tags:
- name: Registrations
  description: Create, update, delete, and track sender ID registrations for compliance with local messaging regulations.
paths:
  /v1/projects/{project_id}/registrations:
    get:
      operationId: listRegistrations
      summary: List Registrations
      description: Returns a list of all sender ID registrations in the project with their current status and submission details.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - name: status
        in: query
        description: Filter by registration status
        schema:
          type: string
      - name: pageSize
        in: query
        description: Number of results per page
        schema:
          type: integer
          default: 20
      - name: pageToken
        in: query
        description: Pagination token
        schema:
          type: string
      responses:
        '200':
          description: List of registrations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationList'
        '401':
          description: Unauthorized
    post:
      operationId: createRegistration
      summary: Create a Registration
      description: Creates a new sender ID registration for a specific market. The registration must include all required fields as defined by the market requirements.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRegistrationRequest'
      responses:
        '200':
          description: Registration created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registration'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/projects/{project_id}/registrations/{registration_id}:
    get:
      operationId: getRegistration
      summary: Get a Registration
      description: Returns the details and current status of a specific sender ID registration.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/RegistrationId'
      responses:
        '200':
          description: Registration details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registration'
        '401':
          description: Unauthorized
        '404':
          description: Registration not found
    patch:
      operationId: updateRegistration
      summary: Update a Registration
      description: Updates a sender ID registration. Only registrations that have not yet been submitted for approval can be updated.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/RegistrationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRegistrationRequest'
      responses:
        '200':
          description: Registration updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registration'
        '401':
          description: Unauthorized
        '404':
          description: Registration not found
    delete:
      operationId: deleteRegistration
      summary: Delete a Registration
      description: Deletes a specific sender ID registration.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/RegistrationId'
      responses:
        '200':
          description: Registration deleted
        '401':
          description: Unauthorized
        '404':
          description: Registration not found
  /v1/projects/{project_id}/registrations/{registration_id}:submit:
    post:
      operationId: submitRegistration
      summary: Submit a Registration
      description: Submits a sender ID registration for approval. Once submitted, the registration enters the review process and cannot be modified.
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/RegistrationId'
      responses:
        '200':
          description: Registration submitted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registration'
        '401':
          description: Unauthorized
        '404':
          description: Registration not found
components:
  parameters:
    RegistrationId:
      name: registration_id
      in: path
      required: true
      description: The unique registration identifier
      schema:
        type: string
    ProjectId:
      name: project_id
      in: path
      required: true
      description: The unique project identifier
      schema:
        type: string
  schemas:
    CreateRegistrationRequest:
      type: object
      required:
      - marketId
      - senderId
      properties:
        marketId:
          type: string
          description: The target market
        displayName:
          type: string
          description: Display name for the sender
        senderId:
          type: string
          description: The sender ID to register
        senderType:
          type: string
          description: The sender type
        registrationDetails:
          type: object
          description: Market-specific registration details
          additionalProperties: true
    UpdateRegistrationRequest:
      type: object
      properties:
        displayName:
          type: string
          description: Updated display name
        registrationDetails:
          type: object
          description: Updated registration details
          additionalProperties: true
    Registration:
      type: object
      properties:
        id:
          type: string
          description: The unique registration identifier
        projectId:
          type: string
          description: The project ID
        marketId:
          type: string
          description: The market identifier
        displayName:
          type: string
          description: The display name for the sender
        senderId:
          type: string
          description: The sender ID being registered
        senderType:
          type: string
          description: The sender type
        status:
          type: string
          enum:
          - DRAFT
          - SUBMITTED
          - UNDER_REVIEW
          - APPROVED
          - REJECTED
          - REVOKED
          description: The current registration status
        rejectionReason:
          type: string
          description: Reason for rejection if applicable
        registrationDetails:
          type: object
          description: Market-specific registration details
          additionalProperties: true
        createTime:
          type: string
          format: date-time
          description: When the registration was created
        updateTime:
          type: string
          format: date-time
          description: When the registration was last updated
        submitTime:
          type: string
          format: date-time
          description: When the registration was submitted
    RegistrationList:
      type: object
      properties:
        registrations:
          type: array
          description: List of registrations
          items:
            $ref: '#/components/schemas/Registration'
        nextPageToken:
          type: string
          description: Pagination token
        totalSize:
          type: integer
          description: Total number of registrations
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication.
externalDocs:
  description: Sinch Brands API Documentation
  url: https://developers.sinch.com/docs/brands