73 Strings Transaction API API

The Transaction APIs enable external enterprise customers to ingest and retrieve transaction ledger records within the 73 Strings platform.These APIs are intended for client-side engineering teams that manage their own data pipelines and require a controlled, structured interface to push transaction data into the platform or retrieve processed transaction information for downstream workflows.Key capabilitiesBulk creation and update of transaction ledger recordsPlatform-generated Display IDs for stable referencing across workflowsRetrieval of processed transaction dataReference APIs for transaction types and transaction versions to ensure payload correctnessPartial success handling for bulk ingestionAuthentication & data scopingAll APIs are authenticated using a subscription key associated with a User IDOrganization ID and User ID are mandatory in request payloads and determine data accessAPIs are multi-tenant by design and return data scoped to the provided organizationProcessing modelTransactions are pushed via external pipelines (real-time or batch)The platform persists and processes the data as per supported transaction structuresThe APIs do not orchestrate synchronization or enforce real-time guarantees

OpenAPI Specification

73-strings-transaction-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Transaction Transaction API API
  description: The <b>Transaction APIs</b> enable external enterprise customers to <b>ingest and retrieve transaction ledger records</b> within the <b>73 Strings platform</b>.<br><br>These APIs are intended for <b>client-side engineering teams</b> that manage their own data pipelines and require a <b>controlled, structured interface</b> to push transaction data into the platform or retrieve processed transaction information for downstream workflows.<br><br><b>Key capabilities</b><ul><li>Bulk creation and update of transaction ledger records</li><li>Platform-generated <b>Display IDs</b> for stable referencing across workflows</li><li>Retrieval of processed transaction data</li><li>Reference APIs for <b>transaction types</b> and <b>transaction versions</b> to ensure payload correctness</li><li>Partial success handling for bulk ingestion</li></ul><b>Authentication &amp; data scoping</b><ul><li>All APIs are authenticated using a <b>subscription key</b> associated with a <b>User ID</b></li><li><b>Organization ID</b> and <b>User ID</b> are mandatory in request payloads and determine data access</li><li>APIs are multi-tenant by design and return data scoped to the provided organization</li></ul><b>Processing model</b><ul><li>Transactions are pushed via external pipelines (real-time or batch)</li><li>The platform persists and processes the data as per supported transaction structures</li><li>The APIs do not orchestrate synchronization or enforce real-time guarantees</li></ul>
  contact:
    name: ''
    email: support@73strings.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
- url: https://api-accord-eut-73strings.azure-api.net/transactions
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Transaction API
  description: The <b>Transaction APIs</b> enable external enterprise customers to <b>ingest and retrieve transaction ledger records</b> within the <b>73 Strings platform</b>.<br><br>These APIs are intended for <b>client-side engineering teams</b> that manage their own data pipelines and require a <b>controlled, structured interface</b> to push transaction data into the platform or retrieve processed transaction information for downstream workflows.<br><br><b>Key capabilities</b><ul><li>Bulk creation and update of transaction ledger records</li><li>Platform-generated <b>Display IDs</b> for stable referencing across workflows</li><li>Retrieval of processed transaction data</li><li>Reference APIs for <b>transaction types</b> and <b>transaction versions</b> to ensure payload correctness</li><li>Partial success handling for bulk ingestion</li></ul><b>Authentication &amp; data scoping</b><ul><li>All APIs are authenticated using a <b>subscription key</b> associated with a <b>User ID</b></li><li><b>Organization ID</b> and <b>User ID</b> are mandatory in request payloads and determine data access</li><li>APIs are multi-tenant by design and return data scoped to the provided organization</li></ul><b>Processing model</b><ul><li>Transactions are pushed via external pipelines (real-time or batch)</li><li>The platform persists and processes the data as per supported transaction structures</li><li>The APIs do not orchestrate synchronization or enforce real-time guarantees</li></ul>
paths:
  /api/v2/unifiedTransaction:
    post:
      operationId: unifiedTransaction-v2
      summary: Create or update transactions in bulk (V2)
      tags:
      - Transaction API
      description: Use this endpoint to submit one or more transaction records to the 73 Strings platform in a single JSON request. Each object in <b>TransactionData</b> is validated and processed independently, so a failure for one object does not automatically prevent other valid objects in the same request from being saved.<br><br><b>How create and update are resolved</b><ul><li>The platform uses <b>multilayeredTransactionMetadata.externalTransactionSourceReferenceId</b> together with the transaction-level <b>asOfDate</b> to decide how each object is processed.</li><li>If <b>externalTransactionSourceReferenceId</b> is new or not provided, the platform creates a new transaction and generates an internal <b>displayId</b>.</li><li>If the same <b>externalTransactionSourceReferenceId</b> and the same <b>asOfDate</b> already exist, the existing as-of-date record is fully replaced by the submitted object. This is a full overwrite, not a merge or patch.</li><li>If the same <b>externalTransactionSourceReferenceId</b> exists with a different <b>asOfDate</b>, the platform creates a new time-series instance under the same logical transaction.</li><li>Do not send <b>displayId</b> in the request. It is generated and managed by the platform. Use a stable <b>externalTransactionSourceReferenceId</b> for transactions that may need to be updated later.</li></ul><b>Request limits and validation</b><ul><li>A request can include up to <b>2,000</b> transaction objects and must not exceed <b>5 MB</b>.</li><li><b>orgId</b> and <b>userId</b> must be authorized for the supplied subscription key.</li><li><b>TransactionData</b> is required and must contain at least one object.</li><li>Dates must use <b>YYYY-MM-DD</b> format. Currency codes must use ISO 4217 three-letter codes, and currency-unit values are case-sensitive.</li><li>Conditional field groups must be sent completely or omitted completely. For example, local amount fields, reporting amount fields, post-money valuation fields, and security fields should not be partially populated.</li><li>The same <b>externalTransactionSourceReferenceId</b> plus the same <b>asOfDate</b> must not appear more than once in a single request because the platform cannot determine which object should take precedence.</li></ul><b>Response behavior</b><ul><li><b>200 OK</b> means all submitted transaction objects were processed successfully.</li><li><b>207 Multi-Status</b> means at least one object succeeded and at least one object failed validation. Successfully processed objects are saved and are not rolled back; correct and resubmit only the failed objects.</li><li>If every submitted object fails validation, the response indicates validation failure and no object from that request is saved.</li><li>If a timeout response is received, verify transaction state before retrying. The server may have processed some or all records before the timeout was returned.</li></ul>
      parameters:
      - name: subscription-key
        in: header
        required: true
        description: Subscription key used to authenticate the request. The key must be valid for the orgId and userId supplied in the request body.
        schema:
          type: string
      - name: Content-Type
        in: header
        required: true
        description: Required request content type. Send <b>application/json</b>.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnifiedTransactionV2ReqDTO'
            examples:
              default:
                value:
                  userId: xxxxe74-bbd3-4fd4-9e2a-0a73173xxxx
                  orgId: xxxxxbd1-22d2-4e70-9e66-64215axxxxx
                  TransactionData:
                  - transactionTypeId: xxxxxxx-3856-4f85-b7f0-0dccfxxxxxxx
                    transactionDate: '2025-11-22'
                    versionId: xxxxxxx49-8caf-4394-b39c-a3671fxxxxxx
                    baseCurrency: INR
                    baseCurrencyUnit: Lakhs
                    amount: 1001
                    asOfDate: '2025-12-31'
                    localCurrency: USD
                    localCurrencyUnit: Actual
                    localAmount: 3000
                    multilayeredTransactionMetadata:
                      remarks: API pushed transaction
                      securityType: CREDIT
                      securityId: xxxxxx48-452c-4767-97e2-1bf7c16xxxx
                      externalTransactionSourceReferenceId: ref_2
                      pps: 10.04
                      postMoneyValuation: '29404.429'
                      postMoneyValuationCurrency: USD
                      postMoneyValuationCurrencyUnit: Millions
                      ownershipPercentage: 90.2242
                      externalInvestmentEntityId: CEN02570
                      externalSecurityId: CEN003100
                      shareCount: 10
                      vehicleName: SPV-1
                      externalOwnerEntityId: samplePS
                    ownerEntityMappings:
                    - ownerEntityId: xxxxxb8b-7907-42c5-b95d-8fb728axxxxx
                    investmentEntityId: xxxxx7ed-8015-4837-8f55-d96d82xxxxx
                    reportingAmount: 2500
                    reportingCurrency: USD
                    reportingCurrencyUnit: Actual
        description: JSON payload containing the organization, user, and transaction objects to create or update. <b>orgId</b> and <b>userId</b> are validated against the subscription key. <b>TransactionData</b> must contain 1 to 2,000 objects, and the total request payload must not exceed 5 MB.
      responses:
        '200':
          description: All submitted transaction objects were validated and processed successfully. The response includes the total number of submitted objects, the number of invalid objects, and a validity flag.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionProcessResponse'
              examples:
                Success Example:
                  description: Success Example
                  value:
                    response:
                      totalRecordsCount: 2
                      invalidEntriesCount: 0
                      valid: true
                    success: true
                    message: All transactions processed successfully.
        '207':
          description: Partial success. At least one transaction object was processed successfully and at least one object failed validation. Successful objects are persisted; inspect failedTransactions, correct those objects, and resubmit only the failed records.
          content:
            application/json:
              examples:
                Partial Success Example:
                  description: Example showing some transactions failed while others succeeded
                  value:
                    response:
                      failedTransactions:
                      - transactionDate: '2025-11-21'
                        transactionTypeId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        versionId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        baseCurrency: USD
                        amount: 500
                        investmentEntityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        asOfDate: '2025-11-13'
                        multilayeredTransactionMetadata:
                          externalTransactionSourceReferenceId: XX - transactions 1
                          securityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        errors:
                        - field: BaseCurrencyUnit
                          error: Please add a valid base currency unit
                        ownerEntityCount: 3
                        ownerEntityPathwayRepresentation: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        ownerEntityNamePathwayRepresentation: null / null / null
                      totalRecordsCount: 2
                      invalidEntriesCount: 1
                      valid: false
                    success: true
        '400':
          description: Bad request. The request body is malformed, required top-level fields are missing, TransactionData is empty, or the payload does not conform to the expected JSON structure. No transaction objects are processed for malformed request-level failures.
          content:
            application/json:
              examples:
                Bad Request Example:
                  description: Bad Request Example
                  value:
                    response: []
                    success: false
                    message: Invalid request parameters.
                    errorCode: EXCE00028
                Required Fields Can't Be Null Or Empty Example:
                  description: Required Fields Can't Be Null Or Empty Example
                  value:
                    response: []
                    success: false
                    message: Fields cannot be null or empty..
                    errorCode: EXCE00020
        '401':
          description: Unauthorized request. The subscription key is missing, invalid, expired, or not authorized for the orgId and userId supplied in the request body.
          content:
            application/json:
              examples:
                Invalid Subscription key Example:
                  description: Invalid Subscription key Example
                  value:
                    statusCode: 401
                    message: Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.
        '404':
          description: Not found. The endpoint path is incorrect, the API version is unavailable, or a referenced resource cannot be found.
          content:
            application/json:
              examples:
                Resource Not Found Example:
                  description: Example when a requested resource does not exist
                  value:
                    statusCode: 404
                    message: Resource not found
        '422':
          description: Validation failure for the submitted transaction objects. The response identifies the failed objects and field-level errors. Correct the reported issues before resubmitting.
          content:
            application/json:
              examples:
                Validation Error Example:
                  description: Example when all submitted transaction objects fail validation
                  value:
                    response:
                      failedTransactions:
                      - transactionDate: '2025-11-16'
                        transactionTypeId: c0292085-1818-460f-94d3-f92079326358
                        versionId: 9c78a3b4-0f37-4de0-a289-d52bc04f3615
                        baseCurrencyUnit: Lakhs
                        amount: 50
                        investmentEntityId: 64f1db13-91cc-46be-85f1-a963cec04899
                        asOfDate: '2025-11-10'
                        multilayeredTransactionMetadata:
                          externalTransactionSourceReferenceId: EY - transactions 1
                          securityId: 2601e54d-b5ea-4178-9b19-3b5551f1de7e
                          securityType: CREDIT
                        errors:
                        - field: BaseCurrency
                          error: Please select a valid base currency
                      totalRecordsCount: 1
                      invalidEntriesCount: 1
                      valid: false
                    success: false
                    errorCode: VALIDATION_ERROR
        '429':
          description: Too many requests. The organization has exceeded the allowed request concurrency or rate limit. Retry after the indicated interval, if provided.
          content:
            application/json:
              examples:
                Too Many Requests Example:
                  description: Example when request concurrency limit is exceeded
                  value:
                    statusCode: 429
                    message: Too many requests. Please retry after the indicated interval.
        '500':
          description: Internal server error. The request could not be completed because of an unexpected server-side failure. Retry later or contact support if the issue persists.
          content:
            application/json:
              examples:
                Internal Server Error Example:
                  description: Internal Server Error Example
                  value:
                    statusCode: 500
                    message: Internal server error. Please try again later or contact support.
        '504':
          description: Gateway timeout. Processing state is indeterminate; some, all, or none of the submitted objects may have been processed. Verify transaction state before resubmitting to avoid duplicates.
          content:
            application/json:
              examples:
                Gateway Timeout Example:
                  description: Example when processing exceeds the gateway timeout
                  value:
                    statusCode: 504
                    message: Gateway timeout. Verify processing state before retrying.
  /api/v1/unifiedTransaction:
    post:
      operationId: unifiedTransaction
      summary: Create/Update Transaction
      tags:
      - Transaction API
      description: The <b>Create Multiple Transactions API</b> allows users to upload multiple transaction records within the <b>73Strings Transaction Product</b> in a single request.<br><br>It supports bulk creation of financial transaction entries such as <b>Investments</b>, <b>Realizations</b>, <b>Valuations</b>, and <b>Fees</b>, with each record tied to an entity, version, and transaction type.<br><br><b>Key capabilities</b><ul><li>Supports bulk creation of multiple financial transactions in a single API call</li><li>Validates transaction data at an individual record level</li><li>Ensures consistency in financial reporting and cross-system integrations</li></ul><b>Partial success handling</b><ul><li>Returns a <b>207 Multi-Status</b> response when some records are successfully processed</li><li>Provides detailed validation errors for records that fail processing</li></ul
      parameters:
      - name: subscription-key
        in: header
        required: true
        description: A unique key that allows you to access and use an API
        schema:
          type: string
      - name: Content-Type
        in: header
        required: true
        description: <b>Content-Type</b> is a required request header.<br><br><ul><li>Defines the data format being sent</li><li>The value must be <b>application/json</b></li></ul>
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnifiedTransactionReqDTO'
            examples:
              default:
                value:
                  userId: 04156bbe-90c8-4bd2-9c6a-e783a70eda14
                  orgId: 7c72ed3a-c264-4f61-adee-c1bd4856a5cc
                  TransactionData:
                  - transactionTypeId: 402079b7-93cf-435d-9080-151c4594920d
                    transactionDate: '2022-09-30'
                    versionId: d3d605b2-2705-469c-89c0-1930497ec856
                    baseCurrency: GBP
                    baseCurrencyUnit: Actual
                    amount: 888.41
                    asOfDate: '2022-09-30'
                    localCurrency: USD
                    localCurrencyUnit: Millions
                    localAmount: 234.24
                    reportingAmount: 93.234
                    reportingCurrency: USD
                    reportingCurrencyUnit: Millions
                    ownerEntityMappings:
                    - ownerEntityId: da17e9ae-a0f8-47e0-a30e-8b8b67c2ca2f
                    investmentEntityId: b8a58ce2-50d3-4e01-9b4e-125c98068279
                    multilayeredTransactionMetadata:
                      remarks: API pushed transaction
                      securityType: EQUITY
                      securityId: c5aa7714-9383-4f9f-86bd-a671d6ec69ca
                      externalTransactionSourceReferenceId: External Fund A Transaction CEN0004
                      externalInvestmentEntityId: Company 1 Ltd
                      vehicleName: Vehicle 1
                      postMoneyValuation: 234.24
                      postMoneyValuationCurrency: USD
                      postMoneyValuationCurrencyUnit: Millions
                      externalSecurityId: CEN089238
                      externalOwnerEntityId: CEN0280
                      pps: 24.24
                      shareCount: 145
                      ownershipPercentage: 234.24
        description: Request Parameters Table.
      responses:
        '200':
          description: Successful creation or update of transaction.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionProcessResponse'
              examples:
                Success Example:
                  description: Success Example
                  value:
                    response:
                      totalRecordsCount: 2
                      invalidEntriesCount: 0
                      valid: true
                    success: true
                    message: All transactions processed successfully.
        '202':
          description: Request accepted for processing, but not yet completed.
          content:
            application/json:
              examples:
                Accepted Example:
                  description: Accepted Example
                  value:
                    response: []
                    success: true
                    message: Request accepted and is being processed.
                    errorCode: null
        '207':
          description: Multi-Status - Partial success with some failed transactions
          content:
            application/json:
              examples:
                Partial Success Example:
                  description: Example showing some transactions failed while others succeeded
                  value:
                    response:
                      failedTransactions:
                      - transactionDate: '2025-11-21'
                        transactionTypeId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        versionId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        baseCurrency: USD
                        amount: 500
                        investmentEntityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        asOfDate: '2025-11-13'
                        multilayeredTransactionMetadata:
                          externalTransactionSourceReferenceId: XX - transactions 1
                          securityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        errors:
                        - field: BaseCurrencyUnit
                          error: Please add a valid base currency unit
                        ownerEntityCount: 3
                        ownerEntityPathwayRepresentation: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                        ownerEntityNamePathwayRepresentation: null / null / null
                      totalRecordsCount: 2
                      invalidEntriesCount: 1
                      valid: false
                    success: true
        '400':
          description: Invalid input, missing parameters.
          content:
            application/json:
              examples:
                Bad Request Example:
                  description: Bad Request Example
                  value:
                    response: []
                    success: false
                    message: Invalid request parameters.
                    errorCode: EXCE00028
                Required Fields Can't Be Null Or Empty Example:
                  description: Required Fields Can't Be Null Or Empty Example
                  value:
                    response: []
                    success: false
                    message: Fields cannot be null or empty..
                    errorCode: EXCE00020
        '401':
          description: Invalid or missing Subscription key.
          content:
            application/json:
              examples:
                Invalid Subscription key Example:
                  description: Invalid Subscription key Example
                  value:
                    statusCode: 401
                    message: Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.
        '404':
          description: Resource not found
          content:
            application/json:
              examples:
                Resource Not Found Example:
                  description: Example when a requested resource does not exist
                  value:
                    statusCode: 404
                    message: Resource not found
        '500':
          description: Internal server error.
          content:
            application/json:
              examples:
                Internal Server Error Example:
                  description: Internal Server Error Example
                  value:
                    statusCode: 500
                    message: Internal server error. Please try again later or contact support.
  /api/v1/transactionData:
    post:
      operationId: getTransactionData
      summary: Get Transaction Data
      tags:
      - Transaction API
      description: Retrieves transaction data with pagination support. Supports filtering, sorting, and as-of-date settings for comprehensive transaction data retrieval.
      parameters:
      - name: pageNo
        in: query
        required: false
        description: Page number for pagination (zero-based)
        schema:
          type: integer
      - name: pageSize
        in: query
        required: false
        description: Number of records per page
        schema:
          type: integer
      - name: subscription-key
        in: header
        required: true
        description: A unique key that allows you to access and use an API
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionDataReqDTO'
            examples:
              default:
                value:
                  userId: 0ea63bb5-47c6-4590-9fc2-52fc180d6e8f
                  orgId: 214fa428-0f39-4c06-9343-d0c51c9b4e34
                  filters: []
                  sortList:
                  - field: lastModifiedDate
                    direction: desc
                  asOfDateSettings: LATEST
        description: Request payload containing userId, orgId, filters, sort criteria, and as-of-date settings for retrieving transaction data.
      responses:
        '200':
          description: Successful retrieval of transaction data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionDataResDTO'
              examples:
                Success Example:
                  description: Success Example
                  value:
                    response:
                      content:
                      - id: 0ed17793-17d6-4867-af3c-ebca183cb22d
                        displayId: 7789999
                        transactionDate: '2025-09-08'
                        transactionTypeId: 389c4d13-d974-4764-89cb-6bd8013303d3
                        versionId: 0454b6bb-ea69-4dc0-9c45-a4e34849e71d
                        baseCurrency: GBP
                        baseCurrencyUnit: Millions
                        amount: 25
                        amountTotal: 25000000
                        ownerEntityMappings:
                        - ownerEntityId: 987dd768-8b80-4d5b-b9a8-af6eb3321102
                          ownerEntityName: ADCF 123
                        investmentEntityId: ae43ae8f-5fa8-46fa-b8b1-7482e45ff1d7
                        asOfDate: '2025-09-08'
                        localAmount: 0
                        localAmountTotal: 0
                        localCurrency: SAR
                        localCurrencyUnit: Actual
                        multilayeredTransactionMetadata:
                          externalTransactionSourceReferenceId: qwerty1234567
                          securityId: null
                          securityType: null
                          externalSecurityId: null
                          externalInvestmentEntityId: null
                          ownershipPercentage: null
                          shareCount: null
                          pps: null
                          postMoneyValuation: null
                          postMoneyValuationCurrency: null
                          postMoneyValuationCurrencyUnit: null
                          remarks: null
                          source: null
                          vehicleName: null
                          externalOwnerEntityId: null
                          securityName: null
                        createdBy: Dev API Integration
                        createdDate: '2025-09-09T04:59:07Z'
                        lastModifiedBy: Dev API Integration
                        lastModifiedDate: '2025-09-09T05:00:07Z'
                        transactionTypeName: Additional Investment
                        versionName: Actuals
                        investmentEntityName: ADCF_Rollover_Testing
                        valueCarryover: null
                        orgId: null
                        ownerEntityPath: null
                        reportingCurrency: null
                        reportingCurrencyUnit: Actual
                        reportingAmount: null
                        preferredCurrency: BASE
                        fxRateDate: null
                        errors: []
                        ownerEntityPathwayRepresentation: 987dd768-8b80-4d5b-b9a8-af6eb3321102
                        ownerEntityCount: 1
                        ownerEntityNamePathwayRepresentation: ADCF 123
                      pageNo: 0
                      pageSize: 21
                      totalElements: 13
                      totalPages: 0
                    success: true
                    message: Success
                    errorCode: null
        '404':
          description: Resource not found
          content:
            application/json:
              examples:
                Resource Not Found Example:
                  description: Example when a requested resource does not exist
                  value:
                    statusCode: 404
                    message: Resource not found
  /api/v1/transactionType:
    post:
      operationId: getTransactionTypes
      summary: Get Transaction Types
      tags:
      - Transaction API
      description: This API retrieves a list of transaction types configured in the Transaction Product of the 73Strings platform.<br><br>It allows clients to fetch transaction type metadata such as ID, name, category, description, and configuration details.<br><br><b>Key details</b><ul><li>The response supports filtering, sorting, and pagination to optimize data retrieval for different organizational setups.</li><li>This API is primarily used when clients need to populate dropdowns, map transaction categories, or validate transaction type references before creating transaction data.</li></ul>
      parameters:
      - name: pageNo
        in: query
        required: false
        description: Page number to retrieve (0-indexed). Controls which batch of results is fetched.
        schema:
          type: integer
      - name: pageSize
        in: query
        required: false
        description: Number of records to return per page. Optimizes data retrieval for large lists.
        schema:
          type: integer
      - name: subscription-key
        in: header
        required: true
        description: A unique key that allows you to access and use an API
        schema:
          type: string
      - name: Content-Type
        in: header
        required: true
        description: <b>Content-Type</b> is a required request header.<br><br><ul><li>Defines the data format being sent</li><li>The value must be <b>application/json</b></li></ul>
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionTypeReqDTO'
            examples:
              default:
                value:
                  userId: 0ea63bb5-47c6-4590-9fc2-52fc180d6e8f
                  orgId: 214fa428-0f39-4c06-9343-d0c51c9b4

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/73-strings/refs/heads/main/openapi/73-strings-transaction-api-api-openapi.yml