النحاسيات الشهباء Consultations API

The Consultations API from النحاسيات الشهباء — 1 operation(s) for consultations.

Operations 1

POST /api/v1/consultations Create chandelier consultation request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alshhbaa-com:alshhbaa-com-consultations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alshhbaa-com-consultations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Alshhbaa Brassware Public Discovery API Documentation…
  version: 1.0.0
  description: 'Alshhbaa Brassware is a Jeddah luxury chandelier showroom and workshop offering design, bespoke manufacturing, supply, installation, maintenance, warranty support, and original spare parts for palaces, villas, hotels, wedding halls, mosques, offices, and premium retail spaces. These API endpoints expose public discovery, catalog, MCP, and consultation services.


    ### API Versioning & Deprecation Policy

    - **Versioning Strategy**: URI path versioning (`/api/v1/`) with version negotiation via the `X-API-Version` header.

    - **Deprecation Policy**: Breaking changes increment the major version (`/api/v2/`). Deprecated endpoints return standard RFC 8594 `Sunset` and `Deprecation` HTTP response headers with at least 180 days advance sunset notice before retirement.'
  x-versioning:
    strategy: uri-path-and-header
    header: X-API-Version
    currentVersion: v1
    supportedVersions:
    - v1
    deprecationPolicy: RFC 8594 Sunset and Deprecation headers with 180-day transition timeline
  x-onboarding:
    mode: zero-auth
    auth_required: false
    free_tier: true
    self_serve: true
    sandbox_note: Public discovery endpoints are anonymous and free. Agent-authenticated workflows are documented in /auth.md with a sandbox consultation flow via POST /api/v1/consultations.
    contact: Contact@alshhbaa.com
servers:
- url: https://alshhbaa.com
tags:
- name: Consultations
paths:
  /api/v1/consultations:
    post:
      operationId: createApiV1Consultation
      tags:
      - Consultations
      summary: Create chandelier consultation request
      description: Submit a request for bespoke chandelier design, showroom consultation, or large-scale architectural lighting quotation. Supports Idempotency-Key header to prevent duplicate submissions.
      parameters:
      - name: Idempotency-Key
        in: header
        required: false
        schema:
          type: string
        description: Unique UUID idempotency key to prevent duplicate booking or quotation records during network retries.
      - name: X-API-Version
        in: header
        required: false
        schema:
          type: string
          default: v1
        description: Target API version.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsultationRequest'
      responses:
        '201':
          description: Consultation request accepted
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
            Idempotency-Key:
              description: Reflected client idempotency key confirming deduplication.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsultationResponse'
        '400':
          description: Bad Request. The request parameters or body are invalid.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized. Authentication is required. Check WWW-Authenticate header.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
            WWW-Authenticate:
              description: Bearer challenge pointing to RFC 9728 protected resource metadata.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Endpoint not found. Refresh the API catalog and retry a listed endpoint.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '405':
          description: Method not allowed. Retry using the documented HTTP method.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Rate limit exceeded. Retry after the Retry-After or RateLimit-Reset header.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Temporary server error. Retry later or use the Markdown fallback resources.
          headers:
            RateLimit-Limit:
              description: IETF RFC RateLimit quota limit per window.
              schema:
                type: integer
                example: 100
            RateLimit-Remaining:
              description: IETF RFC RateLimit remaining quota in current window.
              schema:
                type: integer
                example: 99
            RateLimit-Reset:
              description: IETF RFC RateLimit seconds until current quota window resets.
              schema:
                type: integer
                example: 60
            RateLimit-Policy:
              description: IETF RFC RateLimit quota policy definition.
              schema:
                type: string
                example: 100;w=60
            X-RateLimit-Limit:
              description: Legacy public discovery request limit per minute.
              schema:
                type: integer
                example: 100
            X-RateLimit-Remaining:
              description: Legacy remaining public discovery requests in the current window.
              schema:
                type: integer
                example: 99
            X-RateLimit-Reset:
              description: Legacy seconds until the public discovery limit window resets.
              schema:
                type: integer
                example: 60
            Retry-After:
              description: Seconds agents should wait before retrying after throttling or temporary failure.
              schema:
                type: integer
                example: 60
            Sunset:
              description: RFC 8594 Sunset date when a deprecated version will be discontinued.
              schema:
                type: string
                format: http-date
            Deprecation:
              description: RFC 8594 Deprecation indicator or date.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    ConsultationRequest:
      type: object
      required:
      - name
      - contact
      properties:
        name:
          type: string
          description: Client full name or company name.
        contact:
          type: string
          description: Email address or phone number.
        spaceType:
          type: string
          enum:
          - palace
          - villa
          - hotel
          - wedding_hall
          - mosque
          - commercial
          description: Type of architectural space.
        ceilingHeight:
          type: string
          description: Ceiling height specification.
        preferredStyle:
          type: string
          description: Preferred chandelier aesthetic.
        notes:
          type: string
          description: Project details or custom requirements.
    ConsultationResponse:
      type: object
      required:
      - id
      - status
      - message
      properties:
        id:
          type: string
          description: Unique consultation tracking identifier.
        status:
          type: string
          enum:
          - received
          - processing
        message:
          type: string
          description: Confirmation message and next steps.
        idempotentReplay:
          type: boolean
          description: Whether this response was served from an idempotent replay cache.
    ProblemDetails:
      type: object
      required:
      - type
      - title
      - status
      properties:
        type:
          type: string
          format: uri
          description: URI reference identifying problem type per RFC 9457.
          examples:
          - https://alshhbaa.com/errors/unauthorized
          - https://alshhbaa.com/errors/not-found
        title:
          type: string
          description: Short human-readable summary of problem type.
        status:
          type: integer
          description: HTTP status code generated by origin server.
        detail:
          type: string
          description: Human-readable explanation specific to this occurrence of the problem.
        instance:
          type: string
          format: uri
          description: URI reference identifying specific occurrence of the problem.
        code:
          type: string
          description: Stable machine-readable error code.
    ApiError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          - status
          properties:
            code:
              type: string
              description: Stable machine-readable error code.
              examples:
              - HTTP_400
              - HTTP_401
              - HTTP_404
              - HTTP_405
              - HTTP_429
              - HTTP_500
            message:
              type: string
              description: Human-readable recovery guidance.
            status:
              type: integer
              description: HTTP status code.
            retry_after:
              type: integer
              description: Seconds to wait before retrying when rate limited or temporarily unavailable.