Boxc Labels API

The Labels resource allows a user to create, cancel, retrieve, and track labels for shipments. A label can't be created if there is already an uncancelled or processed label for the shipment. Labels that have been processed can't be cancelled. The user is responsible for paying the shipping costs if a label is cancelled but still processed at a facility. Test labels are routinely purged from the system.

Operations 5

GET /labels/{id} GET /labels/{id} #
PATCH /labels/{id} PATCH /labels/{id} #
POST /labels POST /labels #
POST /labels/bulk POST /labels/bulk #
PUT /labels/{id}/cancel PUT /labels/{id}/cancel #

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/boxc-labels-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

boxc-labels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  x-logo:
    url: https://storage.googleapis.com/boxc_cdn/public/boxc-logo.png
    altText: BoxC
  title: BoxC CalculateDuty Labels API
  version: '1.123'
  description: 'A simple but powerful logistics API that drives international ecommerce by utilizing a single integration with access to dozens of carriers and global markets. BoxC can complete every leg or only select steps of a shipment''s journey on your behalf with our routing engine.

    '
servers:
- url: https://api.boxc.com/v1
tags:
- name: Labels
  x-displayName: Labels
  description: The Labels resource allows a user to create, cancel, retrieve, and track labels for shipments. A label can't be created if there is already an uncancelled or processed label for the shipment. Labels that have been processed can't be cancelled. The user is responsible for paying the shipping costs if a label is cancelled but still processed at a facility. Test labels are routinely purged from the system.
paths:
  /labels/{id}:
    get:
      tags:
      - Labels
      summary: GET /labels/{id}
      description: Retrieves a label.
      operationId: getLabelsById
      security:
      - JWT:
        - read_shipments
      parameters:
      - name: Accept
        in: header
        required: false
        schema:
          type: string
          example: application/pdf
          enum:
          - application/json
          - application/pdf
        description: Optionally download the label.
      - in: query
        name: type
        description: The data stream type if you don't want the label details and need the shipment label.
        required: false
        deprecated: true
        example: PDF
        schema:
          type: string
          enum:
          - PDF
      - name: id
        in: path
        description: The label ID or tracking number
        required: true
        schema:
          type:
          - integer
          - string
          maxLength: 40
      x-codeSamples:
      - lang: cURL
        label: cURL
        source: "curl -H \"Authorization: Bearer <YOUR TOKEN>\" \\\n  -H \"Accept: application/json\" \\\n  https://api.boxc.com/v1/labels/{id}\n"
      responses:
        '200':
          description: OK. Returns PDF blob if `type=PDF` parameter is used.
          content:
            application/json:
              schema:
                type: object
                properties:
                  label:
                    $ref: '#/components/schemas/Label'
            application/pdf:
              type: string
        '401':
          $ref: '#/components/schemas/Unauthorized'
        '403':
          $ref: '#/components/schemas/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
              examples:
                notFound:
                  summary: Not Found
                  description: Label not found
                  value:
                    code: 1205
                    message: Label not found
                    errors:
                    - Label not found
        '429':
          $ref: '#/components/schemas/RateLimit'
    patch:
      tags:
      - Labels
      summary: PATCH /labels/{id}
      description: Updates a label / package.
      operationId: patchLabel
      security:
      - JWT:
        - write_shipments
      parameters:
      - name: id
        in: path
        description: The label ID
        required: true
        schema:
          type: integer
      x-codeSamples:
      - lang: cURL
        label: cURL
        source: "curl -X PATCH https://api.boxc.com/v1/labels/{id} \\\n  -H \"Authorization: Bearer <YOUR TOKEN>\" \\\n  -H \"Content-Type: application/json\"\n  -d '{\n    \"label\":\n    {\n        \"cancelled\": true,\n        \"overpack_id\": null\n    }\n  }'\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  $ref: '#/components/schemas/LabelPatch'
              required:
              - label
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  label:
                    $ref: '#/components/schemas/Label'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
              examples:
                alreadyCancelled:
                  summary: Bad Request
                  description: Label was previously cancelled
                  value:
                    code: 1204
                    message: Label was previously cancelled
                    errors:
                    - Label was previously cancelled
                cannotCancel:
                  summary: Bad Request
                  description: Label can't be cancelled
                  value:
                    code: 1206
                    message: Label can't be cancelled
                    errors:
                    - Label can't be cancelled
                overpackLocked:
                  summary: Overpack is locked
                  description: Overpack is locked because it was previously manifested.
                  value:
                    code: 1251
                    message: Overpack is locked
                    errors:
                    - Overpack is locked
        '401':
          $ref: '#/components/schemas/Unauthorized'
        '403':
          $ref: '#/components/schemas/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
              examples:
                notFound:
                  summary: Not Found
                  description: Label not found
                  value:
                    code: 1205
                    message: Label not found
                    errors:
                    - Label not found
        '429':
          $ref: '#/components/schemas/RateLimit'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
              examples:
                labelError:
                  summary: Server Error Creating Label
                  description: Label can't be cancelled
                  value:
                    code: 1206
                    message: Label can't be cancelled
                    errors:
                    - Label can't be cancelled
  /labels:
    post:
      tags:
      - Labels
      summary: POST /labels
      description: Creates a label using an existing shipment with no label or cancelled labels.
      operationId: addLabel
      security:
      - JWT:
        - write_shipments
      x-codeSamples:
      - lang: cURL
        label: cURL
        source: "curl -X POST https://api.boxc.com/v1/labels \\\n  -H \"Authorization: Bearer <YOUR TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"label\":\n    {\n        \"shipment_id\": <YOUR SHIPMENT ID>\n    }\n  }'\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  $ref: '#/components/schemas/Label'
              required:
              - label
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  label:
                    $ref: '#/components/schemas/Label'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
              examples:
                validation:
                  summary: Validation error
                  description: The request schema is invalid.
                  value:
                    code: 1000
                    message: 'Validation Error. /label: The required properties (shipment_id) are missing'
                    status: error
                    errors:
                    - '/label: The required properties (shipment_id) are missing'
                badRequest:
                  summary: Bad Request
                  description: Shipment has uncancelled or processed labels
                  value:
                    code: 1201
                    message: Shipment has uncancelled or processed labels
                    errors:
                    - Shipment has uncancelled or processed labels
                noRoutes:
                  summary: Bad Routes Request
                  description: No routes found
                  value:
                    code: 1050
                    message: No routes found
                    errors:
                    - No routes found
        '401':
          $ref: '#/components/schemas/Unauthorized'
        '402':
          $ref: '#/components/schemas/PaymentRequired'
        '403':
          $ref: '#/components/schemas/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
              examples:
                notFound:
                  summary: Not Found
                  description: Shipment not found
                  value:
                    code: 1210
                    message: Shipment not found
                    errors:
                    - Shipment not found
        '429':
          $ref: '#/components/schemas/RateLimit'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
              examples:
                labelError:
                  summary: Server Error - Creating Label
                  description: Label could not be created
                  value:
                    code: 1082
                    message: Label could not be created
                    errors:
                    - Label could not be created
                balanceError:
                  summary: Server Error - Retrieving Balance
                  description: There was an error while fetching the account balance
                  value:
                    code: 1081
                    message: There was an error while fetching the account balance
                    errors:
                    - There was an error while fetching the account balance
                chargingError:
                  summary: Server Error - Charging Account
                  description: There was an error while charging the account balance
                  value:
                    code: 1082
                    message: There was an error while charging the account balance
                    errors:
                    - There was an error while charging the account balance
                internalServerError:
                  summary: Internal Server Error
                  description: Server error. Try again later.
                  value:
                    code: 1001
                    message: Server error. Try again later.
                    errors:
                    - Server error. Try again later.
  /labels/bulk:
    post:
      tags:
      - Labels
      summary: POST /labels/bulk
      description: Create a PDF with up to 100 labels.
      operationId: bulkAddLabel
      security:
      - JWT:
        - write_shipments
      x-codeSamples:
      - lang: cURL
        label: cURL
        source: "curl -X POST https://api.boxc.com/v1/labels/bulk \\\n  -H \"Authorization: Bearer <YOUR TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"labels\": [\n      \"<YOUR TRACKING NUMBER 1>\",\n      \"<YOUR TRACKING NUMBER 2>\",\n      \"<YOUR TRACKING NUMBER 3>\"\n    ]\n  }'\n"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabelPostBulkRequest'
      responses:
        '200':
          description: A single PDF file with up to 100 labels.
          content: applicatin/pdf
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
              examples:
                validation:
                  summary: Validation error
                  description: Label not available for PDF download.
                  value:
                    code: 1205
                    message: Label not found.
                    status: error
                    errors:
                    - Label not found.
        '401':
          $ref: '#/components/schemas/Unauthorized'
        '403':
          $ref: '#/components/schemas/Forbidden'
        '429':
          $ref: '#/components/schemas/RateLimit'
  /labels/{id}/cancel:
    put:
      tags:
      - Labels
      summary: PUT /labels/{id}/cancel
      description: Cancels a label.
      operationId: cancelLabel
      deprecated: true
      security:
      - JWT:
        - write_shipments
      parameters:
      - name: id
        in: path
        description: The label ID
        required: true
        schema:
          type: integer
      x-codeSamples:
      - lang: cURL
        label: cURL
        source: "curl -X PUT https://api.boxc.com/v1/labels/{id}/cancel \\\n  -H \"Authorization: Bearer <YOUR TOKEN>\" \\\n  -H \"Content-Type: application/json\"\n"
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
              examples:
                cannotCancel:
                  summary: Bad Request
                  description: Label can't be cancelled
                  value:
                    code: 1206
                    message: Label can't be cancelled
                    errors:
                    - Label can't be cancelled
                overpackLocked:
                  summary: Overpack is locked
                  description: Overpack is locked
                  value:
                    code: 1251
                    message: Overpack is locked
                    errors:
                    - Overpack is locked
        '401':
          $ref: '#/components/schemas/Unauthorized'
        '403':
          $ref: '#/components/schemas/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
              examples:
                notFound:
                  summary: Not Found
                  description: Label not found
                  value:
                    code: 1205
                    message: Label not found
                    errors:
                    - Label not found
        '429':
          $ref: '#/components/schemas/RateLimit'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
              examples:
                labelError:
                  summary: Server Error Creating Label
                  description: Label can't be cancelled
                  value:
                    code: 1206
                    message: Label can't be cancelled
                    errors:
                    - Label can't be cancelled
components:
  schemas:
    label-patch:
      type: object
      properties:
        cancelled:
          description: Set to `true` to cancel this label and remove the package from the overpack.
          type: boolean
          default: false
          example: true
        overpack_id:
          description: Set to `null` to remove this package from the overpack.
          default: null
          type:
          - integer
          - 'null'
          example: null
    rate-limit:
      description: Too Many Requests
      content:
        application/json:
          schema:
            type: object
            summary: Too Many Requests
            description: Error for too many requests in a given time frame. See [Rate Limits](/#tag/RateLimit) for more information.
            properties:
              code:
                description: Error code. Refer to the list of [Errors](/#tag/Errors).
                type: integer
              message:
                description: Error message explaining the code.
                type: string
              status:
                type: string
                enum:
                - error
                example: error
              errors:
                description: Displays processing error.
                type: array
                minItems: 1
                maxItems: 1
                items:
                  type: string
          examples:
            rateLimit:
              summary: Too Many Requests
              description: Too many requests. Please wait before trying again.
              value:
                code: 1015
                message: Too many requests. Please wait before trying again.
                errors:
                - Too many requests. Please wait before trying again.
    RateLimit:
      $ref: '#/components/schemas/rate-limit'
    Forbidden:
      $ref: '#/components/schemas/forbidden'
    event:
      type: object
      description: The tracking history for this label in descending order. Set by the system.
      properties:
        carrier:
          description: The carrier that provided this event.
          type: string
          example: USPS
          readOnly: true
        city:
          description: The city the event took place in.
          type: string
          maxLength: 40
          example: New York City
          readOnly: true
        code:
          description: A code matching the description and to help identify the event.
          type: integer
          example: 200
          readOnly: true
        country:
          description: The country code the event took place in.
          type: string
          maxLength: 2
          minLength: 2
          pattern:
          - A-Z
          example: US
          readOnly: true
        description:
          description: A description of the event.
          type: string
          example: DELIVERED
          readOnly: true
        latitude:
          description: Latitude coordinate of the event.
          type:
          - number
          - 'null'
          minimum: -90
          maximum: 90
          example: null
          readOnly: true
        longitude:
          description: Longitude coordinate of the event.
          type:
          - number
          - 'null'
          minimum: -180
          maximum: 180
          example: null
          readOnly: true
        postal_code:
          description: The postal code the event took place in.
          type: string
          maxLength: 10
          example: '10001'
          readOnly: true
        province:
          description: The province the event took place in.
          type: string
          maxLength: 40
          example: NY
          readOnly: true
        time:
          description: The local date and time the event occurred.
          type: string
          format: datetime
          default: null
          example: '2024-05-26 07:11:45'
          readOnly: true
    Event:
      $ref: '#/components/schemas/event'
    LabelPatch:
      $ref: '#/components/schemas/label-patch'
    forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            type: object
            summary: Forbidden
            description: Error relating to insufficient permissions for a resource
            properties:
              code:
                description: Error code. Refer to the list of [Errors](/#tag/Errors).
                type: integer
              message:
                description: Error message explaining the code.
                type: string
              status:
                type: string
                enum:
                - error
                example: error
              errors:
                description: Displays processing error.
                type: array
                minItems: 1
                maxItems: 1
                items:
                  type: string
          examples:
            revoked:
              summary: Forbidden Authorization Revoked
              description: 'Forbidden: Authorization revoked'
              value:
                code: 1008
                message: 'Forbidden: Authorization revoked'
                errors:
                - 'Forbidden: Authorization revoked'
            scope:
              summary: Forbidden Scope
              description: 'Forbidden: Missing required scope'
              value:
                code: 1009
                message: 'Forbidden: Missing required scope'
                errors:
                - 'Forbidden: Missing required scope'
    NotFound:
      $ref: '#/components/schemas/not-found'
    PackageContents:
      $ref: '#/components/schemas/package-contents'
    internal-server-error:
      type: object
      summary: Internal Server Error
      description: Processing Error
      properties:
        code:
          description: Error code. Refer to the list of [Errors](/#tag/Errors).
          type: integer
        message:
          description: Error message explaining the code.
          type: string
        status:
          type: string
          enum:
          - error
          example: error
        errors:
          description: Displays processing error.
          type: array
          minItems: 1
          maxItems: 1
          items:
            type: string
    LabelPostBulkRequest:
      $ref: '#/components/schemas/label-post-bulk-request'
    Unauthorized:
      $ref: '#/components/schemas/unauthorized'
    InternalServerError:
      $ref: '#/components/schemas/internal-server-error'
    unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            summary: Unauthorized
            description: Lack of valid authentication credentials for the resource
            properties:
              code:
                description: Error code. Refer to the list of [Errors](/#tag/Errors).
                type: integer
              message:
                description: Error message explaining the code.
                type: string
              status:
                type: string
                enum:
                - error
                example: error
              errors:
                description: Displays processing error.
                type: array
                minItems: 1
                maxItems: 1
                items:
                  type: string
          examples:
            accessToken:
              summary: Invalid access token
              description: Invalid access token
              value:
                code: 1005
                message: Invalid access token
                errors:
                - Invalid access token
    label-post-bulk-request:
      type: object
      properties:
        labels:
          description: An array of `label.id` or `label.tracking_number`.
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: string
            maxLength: 40
          example:
          - '9261299991753900000301'
          - '9261299991753900000323'
          - '9261299991753900000339'
      required:
      - labels
      additionalProperties: false
    package-contents:
      type: object
      title: PackageContents
      properties:
        description:
          description: A description of this item.
          type: string
          minLength: 3
          maxLength: 64
          example: Dayman figurines
        value:
          description: The total value of this item.
          type: decimal
          exclusiveMinimum: 0
          example: 200.25
        quantity:
          description: The number of units of this item.
          type: integer
          exclusiveMinimum: 0
          example: 10
      required:
      - description
      - value
      - quantity
    label:
      type: object
      properties:
        cancelled:
          description: Whether or not the label was cancelled.
          type: boolean
          default: false
          example: false
        carrier:
          description: The final mile carrier for this label.
          type: string
          example: USPS
          readOnly: true
        chargeable_weight:
          description: The chargeable weight for this shipment which is the greater of gross weight and volumetric weight.
          type: decimal
          example: 0.3
          readOnly: true
        contents:
          type: array
          readOnly: true
          description: List of contents in this package.
          default: []
          minItems: 0
          items:
            $ref: '#/components/schemas/PackageContents'
        cost:
          description: The shipping cost for the label.
          type: decimal
          example: 3.15
          readOnly: true
        created:
          description: The date and time the label was created.
          type: string
          default: null
          example: '2024-05-17 15:43:03'
          readOnly: true
        delivery_date:
          description: The date the shipment was delivered.
          type: string
          default: null
          example: '2024-05-26 12:05:09'
          readOnly: true
        exit_point:
          description: The exit port for this shipment determined by the system. This value is null for shipments where exit port is determined irrelevant for the destination.
          type: string
          example: LAX
          readOnly: true
        events:
          description: The tracking history for this package in descending order.
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Event'
        height:
          description: The height of the package in cm.
          type: decimal
          exclusiveMinimum: 0
          exclusiveMaximum: 1000
          default: 1
          example: 1.5
        id:
          description: The unique ID of the label in the system.
          type: integer
          example: 2382131
          readOnly: true
        insurance_fee:
          description: The cost of insurance for this shipment if requested.
          type: decimal
          default: 0
          example: 0
          readOnly: true
        is_master:
          description: Indicates this package is the master label. Default is true for single package shipments.
          type: boolean
          readOnly: true
          example: true
        is_ready:
          description: Indicates the label file is ready for download. This is true for most cases during shipment creation. Some carriers provide labels asynchronously.
          type: boolean
          example: true
          readOnly: true
        length:
          description: The length of the package in cm.
          type: decimal
          exclusiveMinimum: 0
          exclusiveMaximum: 1000
          default: 15
          example: 15
        overpack_id:
          description: The overpack ID assigned to this package.
          default: null
          type:
          - integer
          - 'null'
          example: 1501231
        processed:
          description: Whether or not the label was processed at our facility.
          type: boolean
          default: false
          example: false
          readOnly: true
        processed_date:
          description: The date the label was first processed at a facility.
          type: string
          default: null
          example: '2024-05-27 19:14:55'
          readOnly: true
        processed_weight:
          description: The processed weight of the shipment at a facility.
          type: decimal
          default: null
          example: 0.284
          readOnly: true
        service:
          type: string
          description: The type of shipping service this label is billed for.
          example: BoxC Parcel
          readOnly: true
        shipment_id:
          description: The ID of the shipment you want to create a label for, or is associated with the label.
          type: integer
          example: 1014
        status:
          description: The latest status of the shipment.
          type: string
          enum:
          - Pending
          - Processed
          - Cancelled
          - Customs
          - En Route
          - Exception
          - Delivered
          example: Processed
          readOnly: true
        surcharge:
          description: Additional cost for this shipment based on the route and chargeable weight.
          type: decimal
          default: 0
          example: 0
          readOnly: true
        tracking_number:
          type: string
          description: The tracking number for the label.
          example: '9261299991753900000290'
          readOnly: true
        weight:
          description: The weight of the package in kg.
          type: decimal
          example: 0.202
          exclusiveMinimum: 0
          exclusiveMaximum: 10000
        width:
          description: The width of the package in cm.
          type: decimal
          exclusiveMinimum: 0
          exclusiveMaximum: 1000
          default: 10
          example: 8
    BadRequest:
      $ref: '#/components/schemas/bad-request'
    not-found:
      type: object
      summary: Not Found
      description: Object not found or not owned by the user
      properties:
        code:
          description: Error code. Refer to the list of [Errors](/#tag/Errors).
          type: integer
        message:
          description: Error message explaining the code.
          type: string
        status:
          type: string
          enum:
          - error
          example: error
        errors:
          description: Duplicate of the error message
          type: array
          items:
            type: string
    PaymentRequired:
      $ref: '#/components/schemas/payment-required'
    payment-required:
      description: Payment Required
      content:
        application/json:
          schema:
            type: object
            summary: Payment Required
            description: There are insufficient funds available for this resource
            properties:
              code:
                description: Error code. Refer to the list of [Errors](/#tag/Errors).
                type: integer
              message:
                description: Error message explaining the code.
                type: string
              status:
                type: string
                enum:
                - error
                example: error
              errors:
                description: Duplicate of the error message
                type: array
                items:
                  type: string
          examples:
            paymentRequired:
              summary: Payment Required
              description: Insufficient funds
              value:
                code: 1080
                message: Insufficient funds
                errors:
                - Insufficient funds
    bad-request:
      type: object
      summary: Bad Request
      description: Validation error with the request
      properties:
        code:
          description: Error code. Refer to the list of [Errors](/#tag/Errors).
          type: integer
        message:
          description: Error message explaining the code.
          type: string
        status:
          type: string
          enum:
          - error
          example: error
        errors:
          description: Lists validation errors with the schema or the resource being operated on.
          type: array
          minItems: 1
          maxItems: 5
          items:
            type: string
    Label:
      $ref: '#/components/schemas/label'
  securitySchemes:
    J

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/boxc/refs/heads/main/openapi/boxc-labels-api-openapi.yml