SoFi Technologies Intake API

The Intake API from SoFi Technologies — 17 operation(s) for intake.

Operations 17

POST /claim/intake/create /claim/intake/create #
POST /claim/intake/retrieveReasons /claim/intake/retrieveReasons #
POST /claim/intake/addClaimReasons /claim/intake/addClaimReasons #
POST /claim/intake/retrieveTransactions /claim/intake/retrieveTransactions #
POST /claim/intake/addTransactions /claim/intake/addTransactions #
POST /claim/intake/retrieveQuestionnaire /claim/intake/retrieveQuestionnaire #
POST /claim/intake/retrieveOtherAccounts /claim/intake/retrieveOtherAccounts #
POST /claim/intake/retrieveCreditTransactions /claim/intake/retrieveCreditTransactions #
POST /claim/intake/retrieveSimilarTransactions /claim/intake/retrieveSimilarTransactions #
POST /claim/intake/addSimilarTransactions /claim/intake/addSimilarTransactions #
POST /claim/intake/addQuestionnaire /claim/intake/addQuestionnaire #
POST /claim/intake/retrieveDocRequirements /claim/intake/retrieveDocRequirements #
POST /claim/intake/addDocuments /claim/intake/addDocuments #
POST /claim/intake/retrieveSummary /claim/intake/retrieveSummary #
POST /claim/intake/submit /claim/intake/submit #
POST /claim/intake/retrieveConfirmation /claim/intake/retrieveConfirmation #
POST /claim/intake/bulkCreate /claim/intake/bulkCreate #

Documentation

Specifications

Other Resources

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/sofi-technologies-intake-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

sofi-technologies-intake-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '25.02'
  title: Dispute API 3.0 Intake API
  description: The following documents the Intake API and Interaction APIs.
  termsOfService: ''
  contact: {}
  license:
    name: ''
servers:
- url: '{corename}.gft-dispute-api.{env}.gpsrv.com/gft-dispute-api/1.0/'
tags:
- name: Intake
paths:
  /claim/intake/create:
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeaderParam'
    - $ref: '#/components/parameters/ProfileTypeHeaderParam'
    post:
      summary: /claim/intake/create
      description: 'Use this endpoint to create a new claim in the dispute system.


        A claim is a unit of work that will contain one or more specific transaction disputes. The API is called by passing in key information required to create a shell claim.'
      operationId: postClaimCreate
      parameters: []
      responses:
        '200':
          description: Successful claim initiation request
          content:
            application/json:
              schema:
                type: object
                properties:
                  ClaimId:
                    type: string
                    description: Unique claim ID
                    example: 2108160022C
                  StatusList:
                    type: array
                    items:
                      type: object
                      properties:
                        Type:
                          type: string
                          description: Status of the request
                          examples:
                          - Success
                          enum:
                          - Error
                          - Success
                        Message:
                          type: string
                          description: Message about the status
                          examples:
                          - Success
                        Code:
                          type: string
                          description: Numeric code for the status
                          examples:
                          - '200'
                  rtoken:
                    type: string
                    nullable: true
                    description: A system-generated ID used for tracking
                  StatusCode:
                    type: integer
                    nullable: true
                    description: The HTTP response status code
              examples:
                successExample:
                  value:
                    ClaimId: 2108160022C
                    StatusList:
                    - Type: Success
                      Message: Success
                      Code: '200'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '200'
                  summary: A sample Success create response
        '400':
          description: Error claim initiation request
          content:
            application/json:
              schema:
                type: object
                properties:
                  ClaimId:
                    type: string
                    description: Unique claim ID
                    example: 2108160022C
                  StatusList:
                    type: array
                    items:
                      type: object
                      properties:
                        Type:
                          type: string
                          description: Status of the request
                          examples:
                          - Success
                          enum:
                          - Error
                          - Success
                        Message:
                          type: string
                          description: Message about the status
                          examples:
                          - Success
                        Code:
                          type: string
                          description: Numeric code for the status
                          examples:
                          - '200'
                  rtoken:
                    type: string
                    nullable: true
                    description: A system-generated ID used for tracking
                  StatusCode:
                    type: integer
                    nullable: true
                    description: The HTTP response status code
              examples:
                error1Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: Invalid CustomerId
                      Code: '1'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 1 response
                error2Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: CustomerId or AccountNumber returned no claims
                      Code: '2'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 2 response
                error5Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: 'Invalid Request: {message}'
                      Code: '5'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 5 response
                error13Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: ClaimId references a claim that is currently locked
                      Code: '13'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 13 response
                error14Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: Invalid request message
                      Code: '14'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 14 response
                postRequestError:
                  value:
                    StatusList:
                    - Type: Error
                      Message: 'Error creating Claim: {message}'
                      Code: '3'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Claim creation error
        '500':
          description: Error claim initiation request
          content:
            application/json:
              schema:
                type: object
                properties:
                  ClaimId:
                    type: string
                    description: Unique claim ID
                    example: 2108160022C
                  StatusList:
                    type: array
                    items:
                      type: object
                      properties:
                        Type:
                          type: string
                          description: Status of the request
                          examples:
                          - Success
                          enum:
                          - Error
                          - Success
                        Message:
                          type: string
                          description: Message about the status
                          examples:
                          - Success
                        Code:
                          type: string
                          description: Numeric code for the status
                          examples:
                          - '200'
                  rtoken:
                    type: string
                    nullable: true
                    description: A system-generated ID used for tracking
                  StatusCode:
                    type: integer
                    nullable: true
                    description: The HTTP response status code
              examples:
                errorExample:
                  value:
                    StatusList:
                    - Type: Error
                      Message: Could not obtain a lock on the claim
                      Code: '500'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '500'
                  summary: A sample Error 500 response
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
              - type: object
                required:
                - CustomerId
                - AccountNumber
                properties:
                  CustomerId:
                    type: string
                    description: "Customer ID to create the claim for. Pass the same value as `AccountNumber`. \nPattern: `P{prog_id}|{prn}`\nExample: `P123|123456789012`"
                    example: P123|123456789012
                  AccountNumber:
                    type: string
                    description: 'Account number of the disputed transaction(s). Combine your `prog_id` with the <<glossary:PRN>>.

                      Pattern: `P{prog_id}|{prn}`

                      Example: `P123|123456789012`'
                    example: P123|123456789012
              required:
              - transactionId
              - providerId
              properties:
                providerId:
                  type: integer
                  format: int32
                  description: 'Your unique provider identifier from SoFi Tech Solutions.

                    Pattern: Max 10 digits

                    Example: `9999`'
                  example: 9999
                transactionId:
                  type: string
                  maxLength: 60
                  minLength: 1
                  description: 'Supply a globally unique ID to identify this endpoint request ("transaction").

                    Pattern: Max 60 characters

                    Example: `"984513-395483653-4483483478"`'
                  example: 984513-395483653-4483483478
                CustomerId:
                  type: string
                  description: "Customer ID to create the claim for. Pass the same value as `AccountNumber`. \nPattern: `P{prog_id}|{prn}`\nExample: `P123|123456789012`"
                  example: P123|123456789012
                AccountNumber:
                  type: string
                  description: 'Account number of the disputed transaction(s). Combine your `prog_id` with the <<glossary:PRN>>.

                    Pattern: `P{prog_id}|{prn}`

                    Example: `P123|123456789012`'
                  example: P123|123456789012
      tags:
      - Intake
  /claim/intake/retrieveReasons:
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeaderParam'
    - $ref: '#/components/parameters/ProfileTypeHeaderParam'
    post:
      summary: /claim/intake/retrieveReasons
      description: 'Use this endpoint to retrieve the reason questionnaire for a given claim ID.


        These are questions to display so the user can classify the type and reason for the claim. Because the dispute system now knows the customer account type and user type, it will return the appropriate questions.


        This first question drives the core type of dispute, which is one of the following five:


        1. I participated in this transaction, but there is a problem.


        2. I did not participate in this transaction, and I did not authorize anyone else to participate in this transaction.


        3. I had an issue while using my card at an ATM.


        4. There is an issue with a convenience check.


        5. There is an issue with a balance transfer.


        6. The merchant failed to obtain valid authorization.


        The next set of questions is based on the above answer, and is specific for each. This is a description of the reason for the type of claim.


        Prerequisite API calls:

        - `/claim/intake/create`


        > 📘 Note

        >

        > This endpoint may return different data depending on the value of `profile-type`. See Profile Type Differences for details.'
      operationId: postRetrieveReasons
      parameters: []
      responses:
        '200':
          description: Successful retrieve reasons request
          content:
            application/json:
              schema:
                type: object
                properties:
                  Questionnaire:
                    type: object
                    description: 'Questionnaire for the user to provide answers for.


                      PostQuestionnaire is to be presented to the user after they provide answers for Questionnaire'
                    properties:
                      QuestionList:
                        type: array
                        items:
                          type: object
                          properties:
                            Identifier:
                              type: string
                              description: Question identifier
                              example: ClaimReason
                            DisplayText:
                              type: string
                              description: Text to display with the question
                              example: Which of the following best describes the reason for your dispute?
                            DataType:
                              type: string
                              example: String
                              enum:
                              - String
                              - Decimal
                              - Integer
                              - Date
                              - DateTime
                              - Boolean
                              - List
                              description: "This list of question datatypes indicates what the `AnswerValue` can be:\n\n * `String` — Text, e.g., `Yes`\n * `Decimal` — Floating-point decimal, e.g., `14.52`\n * `Integer` — Integer, e.g., `15`\n * `Date` — Date with format yyyymmdd, e.g., `20240216`\n * `DateTime` — Datetime with format yyyyMMdd`T`HHmmss.SSS z, e.g., `20230201T225915.773 GMT`\n * `Boolean` — Boolean, either `true` or `false`\n * `List` — Text, where `Identifier` can be provided multiple times. See <a href=\"doc:creating-an-api-30-dispute#adding-list-answers\" target=\"_blank\">Adding `List` answers</a> for examples.\n"
                            Type:
                              type: string
                              description: Question type
                              example: RadioButtons
                              enum:
                              - YesNo
                              - Date
                              - DateTime
                              - Text
                              - TextMulti
                              - Dropdown
                              - AutoComplete
                              - RadioButtons
                              - Checkboxes
                              - MultiSelect
                              - Decimal
                              - Integer
                              - Currency
                              - RichText
                              - Nothing
                              - Section
                              - Questionnaire
                            Format:
                              type: string
                              description: Metadata describing the question format, can be used to optionally provide different visual treatment
                              example: RadioButtons
                              enum:
                              - Caption
                              - Default
                              - Internal
                              - Notification
                              - Warning
                            IsOptional:
                              type: boolean
                              description: Is this question optional?
                              example: true
                            AnswerList:
                              type: array
                              description: A list of possible answers for a question
                              items:
                                type: object
                                properties:
                                  Identifier:
                                    type: string
                                    description: Unique answer identifier
                                    example: MerchantDuplicate
                                  DisplayText:
                                    type: string
                                    description: Answer text to display
                                    example: I was charged more than once.
                            SelectedAnswer:
                              type: string
                              description: The selected answer to this question. This could be a default for an initially loaded questionnaire or a persisted previous answer.
                              example: 'Yes'
                            APIDocumentationList:
                              type: array
                              description: This is returned for questions of type Section. It provides the implementation details to provide the answer to said question.
                              items:
                                type: object
                                properties:
                                  ImplementationNotes:
                                    type: string
                                    description: Description of the connector
                                    example: Get list of similar transactions within search criteria
                                  Endpoint:
                                    type: string
                                    description: REST connector endpoint suffix
                                    example: /claim/intake/retrieveSimilarTransactions
                                  Method:
                                    type: string
                                    description: Method for REST connector (always `POST`)
                                    example: post
                        description: 'A List of questions the user can answer.


                          This QuestionList can be nested inside of another Question''s AnswerList indicating that these questions should only be displayed if that Answer is selected.'
                  StatusList:
                    type: array
                    items:
                      type: object
                      properties:
                        Type:
                          type: string
                          description: Status of the request
                          examples:
                          - Success
                          enum:
                          - Error
                          - Success
                        Message:
                          type: string
                          description: Message about the status
                          examples:
                          - Success
                        Code:
                          type: string
                          description: Numeric code for the status
                          examples:
                          - '200'
                  rtoken:
                    type: string
                    nullable: true
                    description: A system-generated ID used for tracking
                  StatusCode:
                    type: integer
                    nullable: true
                    description: The HTTP response status code
              examples:
                successExample:
                  value:
                    Questionnaire:
                      QuestionList:
                      - Type: RadioButtons
                        AnswerList:
                        - QuestionList:
                          - Type: RadioButtons
                            AnswerList:
                            - Identifier: MerchantDuplicate
                              DisplayText: I was charged more than once.
                            - Identifier: MerchantNotProvided
                              DisplayText: I haven't received merchandise or a service I purchased.
                            - Identifier: MerchantCreditNotIssued
                              DisplayText: I cancelled or returned the merchandise or service and have not received the expected credit.
                            - Identifier: MerchandiseServiceIssue
                              DisplayText: I am dissatisfied with the merchandise or a service I received.
                            - Identifier: ChargedCreditedIncorrect
                              DisplayText: I was charged or credited incorrectly.
                            Identifier: ClaimReason
                            DisplayText: Which of the following best describes the reason for your dispute?
                            DataType: String
                          Identifier: NonFraud
                          DisplayText: I made this purchase, but there is a problem and I need to dispute it.
                        - QuestionList:
                          - Type: RadioButtons
                            AnswerList:
                            - Identifier: CardLost
                              DisplayText: I lost my card.
                            - Identifier: CardStolen
                              DisplayText: My card was stolen.
                            - Identifier: CardNotReceived
                              DisplayText: I did not receive my card.
                            - Identifier: CardSecure
                              DisplayText: I didn't make the purchase, but I still have my card.
                            Identifier: ClaimReason
                            DisplayText: Which of the following best describes the reason for your dispute?
                            DataType: String
                          Identifier: Fraud
                          DisplayText: I did not authorize this transaction. I suspect fraud.
                        - Identifier: AuthChargeback
                          DisplayText: There is an authorization issue.
                        Identifier: ClaimReasonType
                        DisplayText: Which of the following would you like to report?
                        DataType: String
                      Identifier: DisputeReasonCard
                    StatusList:
                    - Type: Success
                      Message: Success
                      Code: '200'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '200'
                  summary: A sample Success response
        '400':
          description: Error retrieve reasons request
          content:
            application/json:
              schema:
                type: object
                properties:
                  Questionnaire:
                    type: object
                    description: 'Questionnaire for the user to provide answers for.


                      PostQuestionnaire is to be presented to the user after they provide answers for Questionnaire'
                    properties:
                      QuestionList:
                        type: array
                        items:
                          type: object
                          properties:
                            Identifier:
                              type: string
                              description: Question identifier
                              example: ClaimReason
                            DisplayText:
                              type: string
                              description: Text to display with the question
                              example: Which of the following best describes the reason for your dispute?
                            DataType:
                              type: string
                              example: String
                              enum:
                              - String
                              - Decimal
                              - Integer
                              - Date
                              - DateTime
                              - Boolean
                              - List
                              description: "This list of question datatypes indicates what the `AnswerValue` can be:\n\n * `String` — Text, e.g., `Yes`\n * `Decimal` — Floating-point decimal, e.g., `14.52`\n * `Integer` — Integer, e.g., `15`\n * `Date` — Date with format yyyymmdd, e.g., `20240216`\n * `DateTime` — Datetime with format yyyyMMdd`T`HHmmss.SSS z, e.g., `20230201T225915.773 GMT`\n * `Boolean` — Boolean, either `true` or `false`\n * `List` — Text, where `Identifier` can be provided multiple times. See <a href=\"doc:creating-an-api-30-dispute#adding-list-answers\" target=\"_blank\">Adding `List` answers</a> for examples.\n"
                            Type:
                              type: string
                              description: Question type
                              example: RadioButtons
                              enum:
                              - YesNo
                              - Date
                              - DateTime
                              - Text
                              - TextMulti
                              - Dropdown
                              - AutoComplete
                              - RadioButtons
                              - Checkboxes
                              - MultiSelect
                              - Decimal
                              - Integer
                              - Currency
                              - RichText
                              - Nothing
                              - Section
                              - Questionnaire
                            Format:
                              type: string
                              description: Metadata describing the question format, can be used to optionally provide different visual treatment
                              example: RadioButtons
                              enum:
                              - Caption
                              - Default
                              - Internal
                              - Notification
                              - Warning
                            IsOptional:
                              type: boolean
                              description: Is this question optional?
                              example: true
                            AnswerList:
                              type: array
                              description: A list of possible answers for a question
                              items:
                                type: object
                                properties:
                                  Identifier:
                                    type: string
                                    description: Unique answer identifier
                                    example: MerchantDuplicate
                                  DisplayText:
                                    type: string
                                    description: Answer text to display
                                    example: I was charged more than once.
                            SelectedAnswer:
                              type: string
                              description: The selected answer to this question. This could be a default for an initially loaded questionnaire or a persisted previous answer.
                              example: 'Yes'
                            APIDocumentationList:
                              type: array
                              description: This is returned for questions of type Section. It provides the implementation details to provide the answer to said question.
                              items:
                                type: object
                                properties:
                                  ImplementationNotes:
                                    type: string
                                    description: Description of the connector
                                    example: Get list of similar transactions within search criteria
                                  Endpoint:
                                    type: string
                                    description: REST connector endpoint suffix
                                    example: /claim/intake/retrieveSimilarTransactions
                                  Method:
                                    type: string
                                    description: Method for REST connector (always `POST`)
                                    example: post
                        description: 'A List of questions the user can answer.


                          This QuestionList can be nested inside of another Question''s AnswerList indicating that these questions should only be displayed if that Answer is selected.'
                  StatusList:
                    type: array
                    items:
                      type: object
                      properties:
                        Type:
                          type: string
                          description: Status of the request
                          examples:
                          - Success
                          enum:
                          - Error
                          - Success
                        Message:
                          type: string
                          description: Message about the status
                          examples:
                          - Success
                        Code:
                          type: string
                          description: Numeric code for the status
                          examples:
                          - '200'
                  rtoken:
                    type: string
                    nullable: true
                    description: A system-generated ID used for tracking
                  StatusCode:
                    type: integer
                    nullable: true
                    description: The HTTP response status code
              examples:
                error4Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: The requested Claim ID is not valid.
                      Code: '4'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 4 response
                error5Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: 'Invalid Request: {message}'
                      Code: '5'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 5 response
                error6Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: 'Error saving claim: {message}'
                      Code: '6'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 6 response
                error13Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: ClaimId references a claim that is currently locked
                      Code: '13'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 13 response
                error14Example:
                  value:
                    StatusList:
                    - Type: Error
                      Message: Invalid request message
                      Code: '14'
                    rtoken: 984513-395483653-4483483478
                    StatusCode: '400'
                  summary: A sample Error 14 response
                error15Example:
                  value:
                    StatusList:
              

# --- truncated at 32 KB (429 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sofi-technologies/refs/heads/main/openapi/sofi-technologies-intake-api-openapi.yml