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

# Get an account

> Retrieve a single account (company) by its ID.

Useful to back-fill a missed account.* webhook, reconcile your CRM, or re-fetch a company on demand. Unlike the account webhook (which omits empty fields), every field is always present with an explicit `null` when unset. Country fields are verbatim as entered.



## OpenAPI

````yaml /api-reference/bookingshake-openapi.json get /accounts/{id}
openapi: 3.0.3
info:
  title: BookingShake API
  description: >-
    The BookingShake API allows you to programmatically create and manage
    events, bookings, and related resources. Integrate BookingShake with your
    applications to automate event creation, retrieve booking sources, spaces,
    statuses, and custom fields.


    **Rate Limiting:** All endpoints are rate limited per API key. POST
    /events/create allows 10 requests per minute, while GET endpoints allow 60
    requests per minute. Rate limit information is provided in response headers
    (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset).
  version: 1.0.0
  contact:
    name: BookingShake Support
    email: support@bookingshake.com
    url: https://bookingshake.com
servers:
  - url: https://api.bookingshake.io/api
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Events
    description: Create and manage events and bookings
  - name: Resources
    description: Retrieve booking sources, spaces, and statuses
  - name: Fields
    description: Retrieve available custom and default fields
  - name: Invoices
    description: Retrieve issued invoices
  - name: Payments
    description: Retrieve payments
  - name: Contacts
    description: Retrieve contacts (people)
  - name: Products
    description: Retrieve the venue product catalog
paths:
  /accounts/{id}:
    get:
      tags:
        - Accounts
      summary: Get an account
      description: >-
        Retrieve a single account (company) by its ID.


        Useful to back-fill a missed account.* webhook, reconcile your CRM, or
        re-fetch a company on demand. Unlike the account webhook (which omits
        empty fields), every field is always present with an explicit `null`
        when unset. Country fields are verbatim as entered.
      operationId: getAccount
      parameters:
        - name: id
          in: path
          required: true
          description: Account ID (the `id` field carried by the account.created webhook).
          schema:
            type: string
          example: account-123
      responses:
        '200':
          description: Account retrieved successfully
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum requests allowed per minute (60 for this endpoint)
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Unix timestamp when the rate limit resets
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: success
                  data:
                    $ref: '#/components/schemas/Account'
              example:
                message: success
                data:
                  id: account-123
                  name: Acme Corp
                  legal_name: ACME CORPORATION SAS
                  company_type: SAS
                  company_registration_id: '987654321'
                  siret: '98765432100012'
                  vat_number: FR98765432101
                  rcs_number: RCS Paris 987 654 321
                  sector: Technology
                  address_line_1: 123 rue Example
                  address_line_2: Bâtiment A
                  postal_code: '75001'
                  city: Paris
                  country: France
                  billing_address_line_1: 123 rue Example
                  billing_address_line_2: null
                  billing_postal_code: '75001'
                  billing_city: Paris
                  billing_country: France
                  accounting_account: '411000'
                  created_at: 1731495000000
                  custom_u1v2w3x4y5: 50-100
                  custom_z6a7b8c9d0: null
        '400':
          description: Bad request - invalid token or missing account id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: invalid token
        '404':
          description: >-
            Account not found. Returned when the account does not exist, or
            belongs to another venue or venues group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: not found
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: error
      security:
        - bearerAuth: []
components:
  schemas:
    Account:
      type: object
      description: >-
        An account (company) attached to your venue. Every field is present with
        an explicit `null` when unset. Country fields are verbatim as entered.
        Custom fields (`custom_<uuid>`) configured for your venue are included,
        also with explicit `null` when unset.
      properties:
        id:
          type: string
          description: Unique account ID
        name:
          type: string
          nullable: true
          description: Company display name
        legal_name:
          type: string
          nullable: true
          description: Registered legal name
        company_type:
          type: string
          nullable: true
          description: Legal form (e.g. SAS, SARL)
        company_registration_id:
          type: string
          nullable: true
          description: Company registration number (SIREN in France)
        siret:
          type: string
          nullable: true
          description: SIRET number (France)
        vat_number:
          type: string
          nullable: true
          description: VAT number
        rcs_number:
          type: string
          nullable: true
          description: Trade register number (RCS)
        sector:
          type: string
          nullable: true
          description: Business sector
        address_line_1:
          type: string
          nullable: true
          description: Main address
        address_line_2:
          type: string
          nullable: true
          description: Main address, line 2
        postal_code:
          type: string
          nullable: true
          description: Main address postal code
        city:
          type: string
          nullable: true
          description: Main address city
        country:
          type: string
          nullable: true
          description: Main address country, verbatim as entered
        billing_address_line_1:
          type: string
          nullable: true
          description: Billing address
        billing_address_line_2:
          type: string
          nullable: true
          description: Billing address, line 2
        billing_postal_code:
          type: string
          nullable: true
          description: Billing address postal code
        billing_city:
          type: string
          nullable: true
          description: Billing address city
        billing_country:
          type: string
          nullable: true
          description: Billing address country, verbatim as entered
        accounting_account:
          type: string
          nullable: true
          description: Accounting account code
        created_at:
          type: integer
          format: int64
          nullable: true
          description: Creation timestamp, Unix milliseconds
      additionalProperties:
        description: >-
          Custom fields (custom_<uuid>) configured for your venue, with explicit
          null when unset
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Error message describing what went wrong
          example: invalid token
    RateLimitResponse:
      type: object
      properties:
        message:
          type: string
          description: Error message
          example: Rate limit exceeded
        data:
          type: object
          properties:
            limit:
              type: integer
              description: Maximum requests allowed per window
              example: 10
            window:
              type: string
              description: Time window duration
              example: 60 seconds
            remaining:
              type: integer
              description: Requests remaining (always 0 on rate limit error)
              example: 0
            resetAt:
              type: string
              format: date-time
              description: ISO 8601 timestamp when the limit resets
              example: '2025-11-17T14:30:00.000Z'
            retryAfter:
              type: integer
              description: Seconds to wait before retrying
              example: 45
  responses:
    RateLimitExceeded:
      description: Rate limit exceeded - too many requests
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
          description: Maximum requests allowed per minute
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: Requests remaining (always 0 on 429)
        X-RateLimit-Reset:
          schema:
            type: integer
          description: Unix timestamp when the rate limit resets
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitResponse'
          example:
            message: Rate limit exceeded
            data:
              limit: 60
              window: 60 seconds
              remaining: 0
              resetAt: '2025-11-17T14:30:00.000Z'
              retryAfter: 45
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Bearer authentication using your BookingShake API key. Retrieve your API
        key from Settings > Integrations in your BookingShake dashboard.

````