openapi: 3.0.3 info: title: Unit Accounts Cards API description: Unit is a Banking-as-a-Service (BaaS) platform. This document is an API Evangelist consolidation of Unit's public REST surface, organized into logical groupings (Applications, Customers, Accounts, Cards, Authorizations, Payments, Counterparties, Checks, Transactions, Statements, Tax Forms, Events, Webhooks, Risk/Fraud, Credit/Repayments, Fees, Rewards, and API Tokens). All paths, methods, and the request/ response envelope below were confirmed against Unit's officially published OpenAPI 3.0.2 specification at github.com/unit-finance/openapi-unit-sdk (openapi.json, version 0.4.0); request/response bodies here are condensed and re-typed for readability rather than reproduced schema-for-schema. Unit's API follows the JSON:API specification - every request and response uses the `application/vnd.api+json` media type, wraps the primary resource in a top-level `data` object with `type`/`id`/`attributes`/`relationships`, and authenticates with a Bearer JWT obtained as an org API token or a customer API token. version: '1.0' contact: name: Unit url: https://www.unit.co license: name: Proprietary url: https://www.unit.co/legal/ servers: - url: https://api.s.unit.sh description: Sandbox (confirmed - default server in Unit's published OpenAPI spec) - url: https://api.unit.co description: Production (industry-standard Unit convention paired with the sandbox host; not independently re-confirmed against a live docs page in this research pass - verify with your Unit solution engineer) security: - bearerAuth: [] tags: - name: Cards description: Debit and credit card issuance and management. paths: /cards: get: operationId: getCardsList tags: - Cards summary: Get List of Cards parameters: - $ref: '#/components/parameters/PageLimit' - $ref: '#/components/parameters/PageOffset' responses: '200': $ref: '#/components/responses/ResourceList' post: operationId: createCard tags: - Cards summary: Create a Card requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/CreateCardRequest' responses: '201': $ref: '#/components/responses/SingleResource' /cards/{cardId}: parameters: - $ref: '#/components/parameters/CardId' get: operationId: getCard tags: - Cards summary: Get Card by Id responses: '200': $ref: '#/components/responses/SingleResource' patch: operationId: updateCard tags: - Cards summary: Update Card requestBody: required: true content: application/vnd.api+json: schema: type: object responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/report-lost: parameters: - $ref: '#/components/parameters/CardId' post: operationId: reportLostCard tags: - Cards summary: Report card as lost responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/report-stolen: parameters: - $ref: '#/components/parameters/CardId' post: operationId: reportStolenCard tags: - Cards summary: Report card as stolen responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/close: parameters: - $ref: '#/components/parameters/CardId' post: operationId: closeCard tags: - Cards summary: Close a Card responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/freeze: parameters: - $ref: '#/components/parameters/CardId' post: operationId: freezeCard tags: - Cards summary: Freeze a Card responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/unfreeze: parameters: - $ref: '#/components/parameters/CardId' post: operationId: unfreezeCard tags: - Cards summary: Unfreeze a Card responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/replace: parameters: - $ref: '#/components/parameters/CardId' post: operationId: replaceCard tags: - Cards summary: Replace a Card responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/limits: parameters: - $ref: '#/components/parameters/CardId' get: operationId: getCardLimits tags: - Cards summary: Get Card Limit by Id responses: '200': $ref: '#/components/responses/SingleResource' /cards/{cardId}/secure-data/pin/status: parameters: - $ref: '#/components/parameters/CardId' get: operationId: getCardPinStatus tags: - Cards summary: Get Card PIN Status responses: '200': $ref: '#/components/responses/SingleResource' /atm-locations: get: operationId: getAtmLocationsList tags: - Cards summary: Get List of ATM Locations parameters: - name: latitude in: query schema: type: number - name: longitude in: query schema: type: number responses: '200': $ref: '#/components/responses/ResourceList' components: schemas: JsonApiSingleResponse: type: object properties: data: $ref: '#/components/schemas/JsonApiResource' included: type: array items: $ref: '#/components/schemas/JsonApiResource' JsonApiResource: type: object properties: type: type: string description: The JSON:API resource type, e.g. individualApplication, depositAccount, individualDebitCard, bookPayment, achPayment. id: type: string attributes: type: object additionalProperties: true relationships: type: object additionalProperties: true JsonApiListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/JsonApiResource' meta: type: object properties: pagination: type: object properties: total: type: integer limit: type: integer offset: type: integer Address: type: object properties: street: type: string city: type: string state: type: string postalCode: type: string country: type: string CreateCardRequest: type: object required: - data properties: data: type: object required: - type - relationships properties: type: type: string enum: - individualDebitCard - individualVirtualDebitCard - businessDebitCard - businessVirtualDebitCard - individualCreditCard - businessCreditCard attributes: type: object properties: shippingAddress: $ref: '#/components/schemas/Address' relationships: type: object properties: account: type: object properties: data: type: object properties: type: type: string enum: - depositAccount - creditAccount id: type: string responses: ResourceList: description: A page of JSON:API resources. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiListResponse' SingleResource: description: A single JSON:API resource. content: application/vnd.api+json: schema: $ref: '#/components/schemas/JsonApiSingleResponse' parameters: PageOffset: name: page[offset] in: query schema: type: integer default: 0 PageLimit: name: page[limit] in: query schema: type: integer default: 100 maximum: 1000 CardId: name: cardId in: path required: true schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'Bearer JWT issued as an org API token (Dashboard > Developers) or a customer API token. Sent as `Authorization: Bearer ${TOKEN}`. All request and response bodies use the `application/vnd.api+json` JSON:API media type.'