Socotra Resource API

The Resource API from Socotra — 33 operation(s) for resource.

OpenAPI Specification

socotra-resource-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Socotra Insurance Suite OpenAPI Definition Resource API
  description: Socotra Insurance Suite API
  termsOfService: https://www.socotra.com
  version: v0
servers:
- url: /
  description: Generated server url
tags:
- name: Resource
paths:
  /resource/{tenantLocator}/uiConfigs:
    post:
      operationId: createUiConfig
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: uiConfigs
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/templates/velocity:
    post:
      operationId: createVelocityDocumentTemplate
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateVelocityDocumentTemplate
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/templates/liquid:
    post:
      operationId: createLiquidDocumentTemplate
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateLiquidDocumentTemplate
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/templateSnippets/velocity:
    post:
      operationId: uploadVelocity
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateVelocity
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/templateSnippets/liquid:
    post:
      operationId: uploadLiquid
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateLiquid
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      requestBody:
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TemplateResponse'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: templates
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/tables:
    post:
      operationId: createLookupTable
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: tables
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/secrets:
    post:
      operationId: createSecret
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretCreateRequest'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResponse'
                deprecated: false
      x-securityGroup: secrets
      x-securityPermission:
      - write
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/riskAssessmentCriteria:
    post:
      operationId: createRiskAssessmentCriteria
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: riskAssessmentCriteria
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/rangeTables:
    post:
      operationId: createRangeTable
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: tables
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/groups:
    post:
      operationId: createResourceGroup
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceGroupCreateRequest'
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceGroupResponse'
                deprecated: false
      x-securityGroup: resource-groups
      x-securityPermission:
      - write
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/fonts:
    post:
      operationId: addFont
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 120
          minLength: 0
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: fonts
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/documents:
    post:
      operationId: createDocumentResource
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: documents
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/constraints:
    post:
      operationId: createConstraintTable
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: query
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      - name: staticName
        in: query
        required: true
        schema:
          type: string
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: array
          deprecated: false
          items:
            type: string
            deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: constraints
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/uiConfigs/{name}:
    get:
      operationId: fetchUiConfigByName
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      - name: byStaticName
        in: query
        required: false
        schema:
          type: boolean
          deprecated: false
      - name: date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: string
          deprecated: false
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
                deprecated: false
                additionalProperties:
                  type: string
                  deprecated: false
      x-securityGroup: uiConfigs
      x-securityPermission:
      - read
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateUiConfig
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: uiConfigs
      x-securityPermission:
      - update
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/tables/{name}:
    get:
      operationId: fetchLookupTableInZipFormat
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
                deprecated: false
                additionalProperties:
                  type: ZipFile
                  deprecated: false
      x-securityGroup: tables
      x-securityPermission:
      - read
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: replaceLookupTable
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
          maxLength: 128
          minLength: 0
          pattern: ^_?[a-zA-Z$][a-zA-Z\d_$]*$
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  deprecated: false
              deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResourceResponse'
                deprecated: false
      x-securityGroup: tables
      x-securityPermission:
      - upload
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/secrets/{name}:
    get:
      operationId: fetchSecret
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      - name: byStaticName
        in: query
        required: false
        schema:
          type: boolean
          default: false
          deprecated: false
      - name: date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: string
          deprecated: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResponse'
                deprecated: false
      x-securityGroup: secrets
      x-securityPermission:
      - read
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateSecret
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              deprecated: false
              additionalProperties:
                type: object
                deprecated: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResponse'
                deprecated: false
      x-securityGroup: secrets
      x-securityPermission:
      - write
      deprecated: false
      tags:
      - Resource
    delete:
      operationId: deleteSecret
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      responses:
        '200':
          description: OK
      x-securityGroup: secrets
      x-securityPermission:
      - write
      deprecated: false
      tags:
      - Resource
  /resource/{tenantLocator}/riskAssessmentCriteria/{name}:
    get:
      operationId: fetchRiskAssessmentCriteriaResourceByName
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: name
        in: path
        required: true
        schema:
          type: string
          deprecated: false
      - name: byStaticName
        in: query
        required: false
        schema:
          type: boolean
          deprecated: false
      - name: date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          deprecated: false
      - name: jurisdiction
        in: query
        required: false
        schema:
          type: string
          deprecated: false
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
                deprecated: false
                additionalProperties:
                  type: string
                  deprecated: false
      x-securityGroup: riskAssessmentCriteria
      x-securityPermission:
      - read
      deprecated: false
      tags:
      - Resource
    patch:
      operationId: updateRiskAssessmentCriteria
      parameters:
      - name: tenantLocator
        in: path
        required: true
        schema:
          type: string
          format: uuid
          deprecated: false
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          deprecated: false
      - name: name
        in: path
        

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