Sinch Apps API

Manage Conversation API applications including channel credentials and webhook configurations.

Documentation

Specifications

Other Resources

OpenAPI Specification

sinch-apps-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sinch Brands Access Control Lists Apps 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: Apps
  description: Manage Conversation API applications including channel credentials and webhook configurations.
paths:
  /v1/projects/{project_id}/apps:
    get:
      operationId: listApps
      summary: List Apps
      description: Returns a list of all Conversation API apps in the project.
      tags:
      - Apps
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      responses:
        '200':
          description: List of apps
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppList'
        '401':
          description: Unauthorized
    post:
      operationId: createApp
      summary: Create an App
      description: Creates a new Conversation API app with channel credentials.
      tags:
      - Apps
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAppRequest'
      responses:
        '200':
          description: App created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/App'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/projects/{project_id}/apps/{app_id}:
    get:
      operationId: getApp
      summary: Get an App
      description: Returns the details of a specific Conversation API app.
      tags:
      - Apps
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/AppId'
      responses:
        '200':
          description: App details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/App'
        '401':
          description: Unauthorized
        '404':
          description: App not found
    patch:
      operationId: updateApp
      summary: Update an App
      description: Updates the properties of a specific Conversation API app.
      tags:
      - Apps
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/AppId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAppRequest'
      responses:
        '200':
          description: App updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/App'
        '401':
          description: Unauthorized
        '404':
          description: App not found
    delete:
      operationId: deleteApp
      summary: Delete an App
      description: Deletes a specific Conversation API app.
      tags:
      - Apps
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/AppId'
      responses:
        '200':
          description: App deleted
        '401':
          description: Unauthorized
        '404':
          description: App not found
components:
  schemas:
    ChannelCredential:
      type: object
      properties:
        channel:
          type: string
          description: The channel type
        static_bearer:
          type: object
          description: Static bearer token credential
          properties:
            claimed_identity:
              type: string
              description: The claimed identity
            token:
              type: string
              description: The bearer token
        static_token:
          type: object
          description: Static token credential
          properties:
            token:
              type: string
              description: The token value
        callback_secret:
          type: string
          description: Secret for validating callbacks from the channel
    UpdateAppRequest:
      type: object
      properties:
        display_name:
          type: string
          description: Updated display name
        channel_credentials:
          type: array
          description: Updated channel credentials
          items:
            $ref: '#/components/schemas/ChannelCredential'
    CreateAppRequest:
      type: object
      required:
      - display_name
      properties:
        display_name:
          type: string
          description: The app display name
        channel_credentials:
          type: array
          description: Channel credential configurations
          items:
            $ref: '#/components/schemas/ChannelCredential'
    App:
      type: object
      properties:
        id:
          type: string
          description: The unique app identifier
        display_name:
          type: string
          description: The app display name
        channel_credentials:
          type: array
          description: Channel credential configurations
          items:
            $ref: '#/components/schemas/ChannelCredential'
        conversation_metadata_report_view:
          type: string
          description: Metadata report configuration
    AppList:
      type: object
      properties:
        apps:
          type: array
          description: List of apps
          items:
            $ref: '#/components/schemas/App'
  parameters:
    AppId:
      name: app_id
      in: path
      required: true
      description: The unique app identifier
      schema:
        type: string
    ProjectId:
      name: project_id
      in: path
      required: true
      description: The unique project identifier
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication.
externalDocs:
  description: Sinch Brands API Documentation
  url: https://developers.sinch.com/docs/brands