Sinch Access Control Lists API

Manage IP address access control lists for securing SIP trunk access.

Documentation

Specifications

Other Resources

OpenAPI Specification

sinch-access-control-lists-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sinch Brands Access Control Lists 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: Access Control Lists
  description: Manage IP address access control lists for securing SIP trunk access.
paths:
  /v1/projects/{project_id}/trunks/{trunk_id}/accessControlLists:
    get:
      operationId: listAccessControlLists
      summary: List Access Control Lists
      description: Returns the access control lists configured for a specific SIP trunk.
      tags:
      - Access Control Lists
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/TrunkId'
      responses:
        '200':
          description: List of ACLs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AclList'
        '401':
          description: Unauthorized
    post:
      operationId: createAccessControlList
      summary: Create an Access Control List
      description: Creates a new IP address access control list for a SIP trunk to restrict which IP addresses can connect.
      tags:
      - Access Control Lists
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/TrunkId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAclRequest'
      responses:
        '200':
          description: ACL created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/projects/{project_id}/trunks/{trunk_id}/accessControlLists/{acl_id}:
    get:
      operationId: getAccessControlList
      summary: Get an Access Control List
      description: Returns the details of a specific access control list.
      tags:
      - Access Control Lists
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/TrunkId'
      - $ref: '#/components/parameters/AclId'
      responses:
        '200':
          description: ACL details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
        '401':
          description: Unauthorized
        '404':
          description: ACL not found
    patch:
      operationId: updateAccessControlList
      summary: Update an Access Control List
      description: Updates the configuration of a specific access control list.
      tags:
      - Access Control Lists
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/TrunkId'
      - $ref: '#/components/parameters/AclId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAclRequest'
      responses:
        '200':
          description: ACL updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
        '401':
          description: Unauthorized
        '404':
          description: ACL not found
    delete:
      operationId: deleteAccessControlList
      summary: Delete an Access Control List
      description: Deletes a specific access control list from the trunk.
      tags:
      - Access Control Lists
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/TrunkId'
      - $ref: '#/components/parameters/AclId'
      responses:
        '200':
          description: ACL deleted
        '401':
          description: Unauthorized
        '404':
          description: ACL not found
components:
  schemas:
    UpdateAclRequest:
      type: object
      properties:
        name:
          type: string
          description: Updated ACL name
        enabled:
          type: boolean
          description: Updated enabled status
        entries:
          type: array
          description: Updated IP entries
          items:
            $ref: '#/components/schemas/AclEntry'
    Acl:
      type: object
      properties:
        id:
          type: string
          description: The unique ACL identifier
        name:
          type: string
          description: The ACL name
        enabled:
          type: boolean
          description: Whether the ACL is active
        entries:
          type: array
          description: List of IP address entries
          items:
            $ref: '#/components/schemas/AclEntry'
        createTime:
          type: string
          format: date-time
          description: When the ACL was created
        updateTime:
          type: string
          format: date-time
          description: When the ACL was last updated
    AclList:
      type: object
      properties:
        accessControlLists:
          type: array
          description: List of access control lists
          items:
            $ref: '#/components/schemas/Acl'
    CreateAclRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: The ACL name
        enabled:
          type: boolean
          description: Whether the ACL is active
          default: true
        entries:
          type: array
          description: IP address entries
          items:
            $ref: '#/components/schemas/AclEntry'
    AclEntry:
      type: object
      properties:
        ipRange:
          type: string
          description: The IP address or CIDR range
        description:
          type: string
          description: A description of this entry
  parameters:
    AclId:
      name: acl_id
      in: path
      required: true
      description: The unique access control list identifier
      schema:
        type: string
    TrunkId:
      name: trunk_id
      in: path
      required: true
      description: The unique SIP trunk 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