> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beem.africa/llms.txt
> Use this file to discover all available pages before exploring further.

# Create address book



## OpenAPI

````yaml /openapi/contact.json post /address-books
openapi: 3.0.3
info:
  title: Beem Contacts API
  version: 1.4.0
  description: >-
    The Beem Contacts API allows developers to manage address books and contacts
    for messaging workflows.
  contact:
    name: Beem
    url: https://beem.africa
    email: support@beem.africa
servers:
  - url: https://api-contact.beem.africa/public/v1
    description: Production server
  - url: https://dev-contact.beem.africa/public/v1
    description: Staging server
security: []
tags: []
paths:
  /address-books:
    post:
      summary: Create address book
      operationId: createAddressBook
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  description: Human-readable description of the address book purpose.
                  type: string
                addressbook:
                  description: >-
                    Unique name for the address book (used to identify the
                    list).
                  type: string
                languageCode:
                  description: >-
                    Optional language code for contacts in this address book
                    (e.g. en, sw).
                  type: string
              additionalProperties: false
              required:
                - description
                - addressbook
            examples:
              createAddressBook:
                summary: Create address book
                value:
                  addressbook: Customers
                  description: Customer contact list
      responses:
        '200':
          description: Address book created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        description: Unique ID of the affected address book.
                        type: string
                      message:
                        description: Human-readable status message.
                        type: string
                      status:
                        description: Operation status (e.g. success).
                        type: string
                    additionalProperties: false
                    required:
                      - message
                      - status
                additionalProperties: false
                required:
                  - data
              examples:
                addressBookCreated:
                  summary: Address book created
                  value:
                    data:
                      id: 60914e137f86e925b970df04
                      message: AddressBook Added Successfully
                      status: 'true'
        '401':
          description: Unauthorized — invalid or missing API credentials.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: API error code.
                    example: 120
                  message:
                    type: string
                    description: Error message.
                    example: Invalid Authorization Parameters
                required:
                  - code
                  - message
                additionalProperties: false
              examples:
                invalidAuthorization:
                  summary: Invalid authorization
                  value:
                    code: 120
                    message: Invalid Authorization Parameters
        '409':
          description: Conflict — an address book with this name already exists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        description: Human-readable status message.
                        example: Customers already exists
                        type: string
                      status:
                        description: Operation status.
                        example: 'false'
                        type: string
                    additionalProperties: false
                    required:
                      - message
                      - status
                additionalProperties: false
                required:
                  - data
              examples:
                addressBookExists:
                  summary: Address book already exists
                  value:
                    data:
                      message: Customers already exists
                      status: 'false'
        default:
          description: Unexpected error.
      security:
        - basicAuth: []
        - accessToken: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'Beem API credentials: API key as username, API secret as password.'
    accessToken:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Access token only. Send as Authorization: <token> — do not use a Bearer
        prefix.

````